Switch to using vector of shader pointers instead of shaders in program to stop conflicts with OpenGL state