Add convenience function for GL Error-checking
Add comments and error-checking to ShaderProgram