Removed duplicate shader classes. Added shader type validation to ShaderProgram constructor.
Added GLException to manage opengl errors. Factored Index Buffering code out of Vertex Buffer into seperate class.