Continued work on GraphicsEngine implementation

Sample shaders have added inputs for normals.
Defines to prevent multiple inclusion of StringResourceSourc.h .... since this got missed somehow. o.O
Corrected the format of the defines to prevent multiple inclusion on several files (added underscores between words).
ShaderPrograms now remove themselves from context when finished and remove the shader objects once linking is finished.
Corrected the multiple-inclusion defines in Vec3 to reflect the new file and type name.
More temporary code in window.cpp for engine testing.
Added warning log back into main.cpp.
Added operator= to GraphicsEngineStateVariable.
GraphicsEngineState no longer virtual, once completed the intention is to be able to set this up with a series of state changes that are applied and then removed be called to activate and deactivate respectively.
GraphicsEngine.cpp now uses custommemory.h.
Corrected cube and cylinder vertices globals to add normals to them.
Nolonger redundently put things on the state change stack or track parameters.
GraphicsEngine.makeShaderFromFile now properly logs, though this function will probably be removed before long.
SceneNode will ultimately just draw a model at a given location. Further functionality will eventually allow for animation... but I'm not there yet sadly.
Scene contains scene nodes and ultimately be the source for all drawing in the engine.
RAIIController class that allows RAII-style object use for any class.
ISceneNode serves as the base for all scene nodes.
CubeModel class, may be temporary. Currently being used for testing of graphics code, may or may not serve a continued use after testing is done.
ColoredTriangle, which is... used to draw colored triangles to the screen rather than textured ones. This class along with textured triangle will ultimately be removed or refactored to take into account more efficient drawing methods.