Pull some public members of Camera up to ICamera
Make IMapGenerator slightly more useful.

Non-generic implementation of IMapGenerator<T> with specialised player/obj placement callbacks.
Refactor some of Engine for dependency injection later on.
Fix for broken fog-of-war rendering

Quick fix for issue with hiding the previously explored areas,
because of setting them back to unexplored when they are no longer visible.
Move to dependency injection for setup