Added the basic interface and main files.

Added the Component and System interface files. These will be used to
create systems and components with a standard interface to expose to
scripting. However systems are allowed to interact with components
however they see fit.

The main file is polluted with some test code that will be removed
within the next few commits. win32 is just some basic win32 window
creation code and will be modularized in the OS independence branch.

Entity is included but will have its usage and named changed to reflect
the fact that it is a property class.
Add the systems and their respective components

The LogSystem is mainly for a basic example and has no real use case.

OpenGLSystem is the first true system. The Update() function is
currently mangled and is being worked on.

SceneManager is used for entity placement currently. It only has getters
and setters for entity transforms.
Renamed to Sigma from ACE
Merge remote-tracking branch 'origin/master' into develop
Renamed TRANSFORMATION to just TRANSFORM
Encapsulated the Win32 message loop

Moved the Win32 message loop into the win32 class. This will allow
better encapsulation and modularizing in the future when adding other
OSes.

Now during the main loop a call to the OS class's MessageLoop() method
will handle all OS specific messaging. Additionally the method returns
false when the loop should terminate, and should be used as follows:
while (OS.MessageLoop()) {...} return 0;
Cleaned up main

Removed a lot of test code from main. There is still some minor test
code for OpenGLSystem to test rendering.
Changed how shaders are loaded and handled.

Some shader variables were removed from OpenGLSystem in for a the
GLSLShader class. This new class encapsulates loading, compiling, and
linking of GLSL shaders.
Type in GLSprite

Changed color in GLSprite from British (colour) to American (color).
Encapsulated vao in GLSprite

VAOs are now stored in GLSPrite along-side vertex and color buffers.

Also the getter/setters for the vertex and color buffers have been
renamed.
Major change to OpenGLSystemFactory

OpenGLSystem::Factory now creates components of type GLSprite. However
currently all they do is render a triangle.

Also a shader is now created in the component creation. This is horrible
placement and needs to be fixed.

Removed some redundant code and useless code.

Fixed rendering window height to be an actual value instead of 0
resulting in nothing being rendered.
Fixed rendering

Now VBOs are rendered correctly because they now find the shader
attribute locations instead of just assuming them to be a specific
number.

Also sprite factory data setting commands have been more organized and
had several comments removed as they are quite self explanitory.

Clear color is now blue so rendering can be seen against an odd color.
Added a pause after the OS message loop

In Win32::MessageLoop() there is now a Sleep(100); before the return to
introduce a small break for the OS to do other things.
OpenGLSystem new renders element arrays

OpenGLSystem is now rendering a quad using an element array.
GLSprite has an offset now.

GLSprite has an offset parameter to draw it offset from the entity
position.

Alos the element buffer index is now stored in GLSprite.
Set .shade files to be text explicitly.
Moved shaders.

Shaders are now located in the root shaders folder.
Moved shader loading and factory duties for GLSprite to GLSprite

Shaders are now loaded and used via a static method and variable in
GLSprite.

GLSprite now has a factory method that creates the required quad buffers
and fills them.
Fixed lots of include redundancies and paths

Many include statements had an escape slash '\' instead of a path
separator '/'. Additionally there were some includes that weren't needed
and were left because of a C&P job.

Also GLSLShader was errantly declaring "using namespace std;" and this
has now been fully resolved.
OpenGLSystem has view and projection matrix

OpenGLSystem now uses a view and projection matrix to move the camera.
No means to move the camera through input are available yet.

vert.shade has been updated to use the VP matrix.