Added texture loading

GLSprite now loads a texture and displays it. Currently this isn't
correct and the UV or vertex locations are wrong.

Also the shaders now work with textures to display them.
Merge branch 'soillib' into develop
Update README.md

Added installation instructions.

Also added Visual Studio specific instructions for debugging.
Added the soil lib to CMake
Added the ability to get EntityID
Added a 3rd sphere for testing purposes
New shaders for GLIcoSphere

GLIcoSphere now has its own shaders.
Set the clear color to black
Added coloring to GLIcoSphere

Coloring is now available on GLIcoSphere. Currently it makes an earth
like planet coloring with more blue verts then green ones.

Also Adjusted the buffer creation to use the index assigned in the ctor
to provide better maintainability.

Set LoadShaders to use the new IcoSphere shaders.

Refinement is now done with entityID levels to test varying degrees of
refinement.
Added a focus parameter to IOpSys::KeyDown

IOpSys::KeyDown() now takes an optional second parameter
Now rendering is done with face groups

OpenGLSystem::Update now renders face groups via looping over
NumebrElements.
Added GLMesh

GLMesh supports loading .obj file verts, faces, and face groups.
Added more parsing of .,obj files

GLMesh now can parse verts, vert-normals, faces, face-vert-normals,
face-texture-coords, face groups, and texture coords.

Also added some error check to Initialize() making sure the buffers have
data before making them.
Added meshFile as a property for GLMesh
Got basic lighting up, weird behavior persists
Added mtlib parser for obj files to GLMesh

When load an obj file the mtllib directive is now processed and mtl
files are parsed and store.
Got basic normals working with basic lighting
Disabled debug output of normal generation
Working on fixing some artifacts
Have basic SDL framework running, but gl not setup properly yet