GLSLProgram class; very barebones atm