Finalized base functionality for CityRenderer

Does everything it needs to now. Still coming up: Time of day shadows,
Cleanup, reload resources on graphics reset to avoid crashes, maybe some
sanity checks for the source files, though I don't see how them being
incorrect at all could be dealt with from a gameplay perspective.