Shared GLProgramState by default and Fix BillBoard Anchor Point

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