Added an in-game map editor

I polished my ingame-map-editor branch for #3377 to allow the workflow of creating a blank new map, editing the terrain tiles and saving the map. Next is actor placement (at least spawn-/waypoints) and modifying the resource layer.
This class can be simplified right down by using an enum and `IsVisible` bindings.  See the main menu logic for an example.