Rewrite skin handling for dynamic remapping

Previously you would need a skin file for every way you wanted to remap a model.
Now you can setup/change skins using code. This allowing surfaces to toggle between
two shaders based on code or have multiple shaders for different damage levels
(without being limited to entire model or a ton of skin files).

Move skin file loading to cgame.
Merge player skins into one skin (will be useful for single model players later).

New system calls;

trap_R_RegisterShaderEx -- exposes ability to register shaders with 'lightmapIndex' other than LIGHTMAP_2D.
trap_R_AllocSkinSurface -- create reference for surface name/shader.
trap_R_AddSkinToFrame -- add skin (list of skin surfaces) for referencing in refEntity customSkin, must call each frame.