Fleshed out the context configuration so that it is initialised much like the windows
Added some more interfaces for components and scene nodes. ISceneNode -> SceneNode will now act as the container for any scene element, they have a list of components that they apply their transformations and other scene related values to. Components can be anything but in this instance are limited mainly to meshes. A meta-component could be used in the future to put any other positional content here such as a sound emitter and have it automatically updated. This could even be callback based but for now it's just a simple parent container for components. Contexts no longer create their own scene manager. They of course can via inheritance but for now they are bound by the GLVersion creation internally and that's about it as the SceneManager could actually be quite different for an implementation, as long as it implements ISceneManager it will supply everything a context needs. Trying to nail down a vertex / attribute format that is generic enough any GL context can use it, mostly I'm focused on getting performance out of VBOs, limiting context-switches and draw calls, and not repeating data sent to the GPU. I will probably get this wrong frequently.