Work on CityRenderer

Code still kind of a mess. Changes:

- Fixed all code - most of the errors in Afr0's attempted port were
accidental int divisions, though one of them was trying to draw a
triangles array as a triangle strip....
- Implemented roads - I didn't actually complete this for the WebGL
version.
- Added functionality that was in the WebGL version that wasn't ported
yet.

I still need to add sanity checks for if the city image uses any unusual
colours or doesn't exist so that people can't crash the game...
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.
CityRenderer Cleanup + Realtime Shadows

Added Realtime Shadows for a more modern look. Completely toggleable and
level of detail is adjustable.
Various Fixes to CityRenderer

- Intel HD Graphics no longer does shadowing per triangle
- Fixed Terrain appearing black on AMD
- Fixed crash on minimize -> restrore
Finalize CityRenderer

Cleanup + Shadows disabled speedup + read from cities/ folder.
Fixed Asset Loading

Don't recreate the whole Terrain object every time...
Merge branch 'master' of https://github.com/RHY3756547/Project-Dollhouse