Added shaderprogram cache