[MP] Rend2: Fix default specular scale.

This fixes the specular scale when stage specularmap is used.
[MP] Rend2: Improvements to GLSL shader compiling

Modern GL drivers are essentially asynchronous. Previously, each GLSL
shader was compiled, and then checked for valid compilation, but this
removes the benefits of the asynchronous nature of the driver. The take
advantage of modern drivers, we tell the driver to compile all our GLSL
shaders at the beginning of start up, and then we query for all the
compile statuses at the end of start up.
[MP] Rend2: Fix gloss not being set correctly
[MP] Rend2: Clamp shadow scale for q3gl2 to [0, 1]

Values outside this range for shadow scale mess things up really badly
(can have shadows lighter than lit areas, for example).
[MP] Rend2: Minor refactoring for readability