Add entities to Hammer GameData straight from games assembly data (skipping fgd)
Use an AssemblyLoadContext for game binaries in Tools/Hammer so we can use real Reflection instead of Cecil
We can load entities from remote packages too, put it all into a simple `Hammer.LoadEntitiesFromPackage( "facepunch.minigolf" )`
Clean up GDVar code a bit to keep our changes manageable, we don't need S1 fgd parser or game units/items
Turns out we were using the legacy stuff, switch it all over to KV3
Populate entity gamedata properties
Make structured MapClass w/ mirroring to native GameData so we have access to map entity classes in managed easily
Port Hammer Entity tool to C#, can pick s&works games from within the tool and use the game entities straight away
Don't output entities with FGDWriter
Load entities from all active LocalAddon when Hammer is started, split the API for local/remote package to make it saner
Load entities straight from Sandbox.Game.dll too
Hammer: don't load any .fgds from addons, we only load core/fgd/s&box.fgd now for remaining C++ entities
Remove DotaMaxTrees
Load managed GameData after engine fgd is read, copy native engine entities to our managed lists and then mirror our managed game classes back to native
Copy variables to native
Make our entity tool properly functional and less shit, add a button that pops up a dialog to use entities from remote games.