Break up mkstemp impl to provide mktemp impl.

The libcxx test suite wants mktemp(), so provide it by pulling
out some of the internals of mkstemp().
test runner comment
disable some recently-changed tests in modes where they need inline js or emcc
fix C_STRUCT usage in sdl
optimize asm function table emitting
optimize indexize/blockaddrsize in emscripten.py
make function table emitting nicer
Add -s CASE_INSENSITIVE_FS=1 linker option to allow VFS to lookup files in case-insensitive mode.
Fix the handling of uniform arrays in the GL interop layer. In GL, arrays of uniforms need to have consecutive locations, i.e. array[x] is at location array[0] + x. The uniform mapping table mechanism in library_gl.js did not take into account that user could do int loc = getUniformLocation("array[0]") and then call glUniform3fv(loc+2, data). In the fix, uniforms are mapped so that arrays will be guaranteed to get consecutive locations.
Merge pull request #1686 from juj/icase_vfs

Icase vfs
make function pointer aliasing configurable
link in files in autodebugger
comment on FUNCTION_POINTER_ALIGNMENT
Optimize alignment rounding.

Replace x>>2<<2 and x>>3<<3 with x&-4 and x&-8, respectively, since
an and is cheaper than two shifts.
Merge pull request #1666 from waywardmonkeys/add-mktemp

Add mktemp
error on linkable modules without asm
Merge pull request #1693 from sunfishcode/incoming

Optimize alignment rounding.
align function tables in non-asm mode
fix intertype of comparisons' last parameter
fast-path simple icmp