Added GLProgram for shader encapsulation