Move *OpenGL*, Shader, and GpuProgram into core.gl package.
Rename GpuProgram to Program.
Move some code in :core to core.graphics.
Moved Display to core.graphics.
Move some resource loaders into core.io package.
Move unit testing stuff into core.testing package.
Moved VertexBuffer & VertexBufferTechnique to subpackages
Fix compiler errors from commits ffd4460, 6bd1c9a
Merge branch 'converting-core-to-subpackages' into test-merge-master-and-converting-core-to-subpackages
Fix compiler errors from merge commit 3eea606.
Freshen tags after merge.
Add merge method to Settings.
Refactor Settings related unit tests.
Implement Settings.merge.
Fix up SettingsMap constructors.
Add unit test SettingsMap.
m() can now clear the screen before building.

Just create tmp/.m-clears-screen and run m as normal.
m.cmd now respects tmp/.m-uses-script.
GameEngine now goes pro with Settings.

We take platform settings form the ctor.
We look in XDG_CONFIG_DIR for system settings.
We look in XDG_CONFIG_HOME for user settings.
We take instance settings from the command line.

And merge them into mRuntimeSettings for general usage.