Changed Shader-Loading to use caches on the shaderProgramStages