Allow cgame to get/set world and bmodel surface shaders

trace_t now has world draw surface number for getting and setting surface shader.
Trace only hits brushes and patches. So VMs currently cannot find surface numbers for inline models, flares, or foliage to set/get shader.

RE_GetShaderFromModel and RE_GetSurfaceShader are based on code from RTCW and ET.
Removed manual mip check (would have been in my RE_GetSurfaceShader), lets assume RegisterShaderNoMip won't be used for world or model surfaces.

Used code from NetRadiant's q3map2 to (try to) find brush side draw surface numbers. Not prefect, may try to improve later.