cleaned up a lot of obsolete code in the lighting functions:

- removed all handling of ThingColor. This will now be passed to the shader as a different parameter so that it can be properly treated as part of the texel, not the lighting.
- for sprites and decals, pass the calculated dynamic light color as a separate parameter so that it doesn't pollute the lighting code.
- replaced CM_SHADE with a new texture mode so that no separate creation of a new alpha channel texture is needed.
- with all the above it was finally possible to do sane light calculations for decals - especially the code for the software light emulation was catastrophically bad.
. removed most of gl_spritebrightfog because it made no sense and was quite broken. This may need addressing later but it will have to be done differently.
- removed all messing around with palettes in gl_bitmap.cpp. None of this is needed anymore.
- shaders use GLSL 4.0 syntax now. Since we'll need some 4.x features anyway it's pointless to restrict their features to older versions.