* OK! Engine now runs in a very basic state machine, in preparation for a menu system and general GUI stuff to be implemented next.

* Terrain Noise class now uses a map to store different "noise lambdas", i.e. different functions for different noising patterns. So to access a special noising function you access it with a TerrainType enum key and get back a specific noising function,  for example Dramatic Hills or Plains.

This means that I've reduced the main noising function from about 650 lines of code to 44 lines of code. It's also much more flexible for future expansion now.

* Done a major overhaul of the d3dclass, split it up into several sub-managers for more specialization and to make everything way tidier

* Aaaaand as usual, fixing tiny comments and bugs and stuff like that as I go.