* Reorganize MapEngine
This is already turning into a mess...
* Map engine selects tile index to use
Still very ugly
* Fix subtile flag combination
* Prepare randomly generated base tiles
* Restore collision viewer
* Movement works again, searches for straight paths
Paths are now d2vector slices
* Fix LOS calculation
* Fix test (I think)
* Comments and newlines in engine.go
* Comments and newlines in object.go
* Comments and newlines in animated_entity.go
* Comments and newlines in missile.go
* Comments and newlines in npc.go
* Comments and newlines in player.go
* Removed object.go (incorrectly merged it in during rebase).
* Comments and newlines in renderer.go.
* Comments and newlines in map_entity.go.
* Comments and newlines in walk_mesh.go.
* Comments and newlines in viewport.go and tile_cache.go.
* Comments and newlines in stamp.go and wilderness_tile_types.go.
* Comments and newlines in everything else.
* WIP refactor of d2map stuff
* more d2map refactor
adding realm init to game client
passing map engine from client and server into realm at init
change `generate map packet` to have act and level index as data
* client explodes, but getting there
* realm now initializes, networking works, but map generators dont currently do anything
* changed the way that level type records are loaded
* fixed funcs for level data lookups
* started implementing level generator, currently crashing
* client no longer exploding
* d2networking refactor
put exports into d2client.go and d2server.go
kept GameClient and GameServer methods into their respective files
made methods for packet handlers instead of the giant switch statements
* bugfix: getting first level id by act
* minor refactor of gamescreen for readability
* towns now generate on server start, create player takes act and level id as args, levels have their own map engine