rough first pass at JS vm compiler
added suspend / resume support to the JS VM code
made cgame initialization async in order to render loading screens
use a random net_port for emscripten builds to support running multiple clients on the same machine
don't generate shaders for LIGHTDEF_USE_SHADOWMAP when r_sunlightMode is disabled
wrap usage of standard derivatives functions in conditional so they can compiled when unsupported and disabled
don't regenerate GLSL shaders unless required