Add simple quit mechanism.

Moved from a non-returning loop to a maybe-returning-loop.

Engine now has a Shutdown which will (eventually) clean up native
resources and close down gracefully. Invoked via ESC
Fix for startup crash and refactoring of camera/lighting

Lighting is handled outside of GameMap now. This puts down some
initial framework for multiple light sources on a map.
GameMap defers most of its lighting calculations to LightMap.

Fixed a crash that occured on startup, the camera would have its
origin aligned to the player position, which resulted in asking for
tiles outside of the map. We now move the camera to the player, which
aligns the camera appropriately against the edge if required.

Refactoring around the GameMap, it has a proper interface now.
The IMap<T> was a bit internal/broken-in-design, GameMap exposes
IGameMap now, which is usable for interaction with GameMap.

The BSPDungeonGenerator correctly marks tiles as Transparent for the
new lighting system. Removed unneeded initialization for properties.
Add basic support for bumping Mobiles

Adds very basic support for bumping other mobiles to initiate combat.
Also adds naming for mobiles.
Remove empty Map\ folder