Fix potential issue, cause program shader can save his id but shader can be deleted (it's the shader class that release the shaderprogram id)