Shared GLProgramState by default

Cache the GLProgramStates of Sprite3D.
Share GLProgrameStates of Sprite3D from the same file.
It can be changed by calling setGLProgramState