Additional tests and code for glProgram