unsigned int uniforms only on OGL3

Added a preprocessor check that strips part of program_uniform away if the OpenGL version is below 3.0. This is necessary when using the vanilla Apple OpenGL headers.