Update to ShaderProgram class
added method generateProgramObject()