Refactoring of GpuProgram for OpenGL, other fancies