Additional caching and default shader

-Additional caching for uniforms in vector form. Added functions to set
them - glsl_uniformXfv, glsl_uniformXiv and glsl_uniformXuiv. Speeds up
lights slightly.
-Added a function to override default shader. Should allow users via LGM
or via an extension to create their own lights system. As an example I
plan to make a "Per-pixel lighting extension".
-Removed more deprecated matrix functions from surfaces. glPushAttrib
still remains though.
-Some additional fixes.