Removed mdxm and mdxa from model_t

mdxm and mdxa fields were unnecessary as the more generic modelData field
should be used instead.
Moved model data into a union.
Rend2: fix handling of additional noise enums.

GF_NOISE and GF_RAND are now handled properly.
Rend2: merged model data into union to save space

The generic and non-generic model data pointers are now merged into a
single union so save space. This should reduce the model_s struct by about
a third.
Fixed transparency and updated BSP code for RBSP

Fixed objects which were transparent and being rendered even when
occluded. Also updated some of the BSP code to use RBSP format properly.
This includes things such as the lighting grid array.
Initial implementation of Ghoul2 GPU rendering
Fixed Ghoul2 rendering using GPU.
Small optimization to uniform updating.
Fixed drawing of rigt HUD.
Fixed sky rendering
Fixed depth prepass and random noise keyword
[Rend2] Initial fix for fog, sabers and shaders
[Rend2] Initial fix for decals.
[Rend2] Map colors from 0-255 range to 0-1 range

Rend2 stores colours as floating point numbers in the 0 - 1 range, as
opposed to the original renderer which stores colours as bytes in 0 - 255
range. This commit scales the colours down to the correct range and data
type.
[Rend2] Corrected default shader creation.

There was a small mistake when porting the vanilla renderer code to rend2
- when finding shaders, LIGHTMAP_NONE should be passed as the lightmap
  index, if a lightmap should not be used. Previously, 0 was passed,
  indicating that lightmap 0 should be used with the shader.
[Rend2] Fixed alpha testing.

For some reason, rend2 has #defines for GL state bits, as well as an enum.
This caused in some cases for the enum to be used, and in other cases for
the #define to be used. This commit removes the #defines in favour of the
enum.
[Rend2] Linked up the RotatePic commands.

This will fix crashing when using vehicles and possibly in other scenarios
too.