Add pk3 VFS (TODO: ADD SYS_VFS_NULL TO XCODEPROJ)

Add a "virtual file system" to proxy .pk3 loading to OS-dependent paths
and files (for instance, APK expansion files on Android)
Typo fix in sys_fs.h
Lock VFS zip files when loading
Added sys_vfs_null.c to Warsow XCode project.
Fix sys_vfs_null paths in projects
Add r_fragment_highp cvar on GLES
Disable program binary by default on GLES3
Previous commit fix
Polygon offset stuff
-32 polyoffset, tested on GeForce, Adreno and Tegra
Replace glPolygonOffset with glDepthRange

glPolygonOffset is implementation-dependent and is broken in different
ways on mobile GPUs. Small glDepthRange offset seems to be a more stable
solution.
8 dlights are too many for medium config
GLSL structs are broken on Adreno

On Adreno 320, due to a bug, all fields of a struct point to the first
field of the struct.
Previous commit fix
Separate shader files

Separate shader files into .vert.glsl and .frag.glsl for faster loading
and smaller graphics driver memory usage
Reverse the meaning of SHADOWMAP_RGB feature

Change SHADOWMAP_RGB feature to SHADOWMAP_SAMPLERS so it exposes the
support of ARB_shadow, not the lack of it, otherwise the base shader
compilation (with features 0) may fail if ARB_shadow is not supported.
Addition to the previous commit
Add RB_DepthOffset

Don't use RB_DepthRange to set depth offset because BindShader overrides
weapon depth range if weapon has different polygonoffset state. Assuming
RB_DepthRange is never used for ranges smaller than 2/65535 or reverse
ranges.
Fix division by zero in shadow rendering
Increase projDist epsilon from 0.0f to 1.0f