Test for va_arg support on struct types (disabled on nested struct)

va_arg is not yet supported on nested struct types (see
https://code.google.com/p/nativeclient/issues/detail?id=3815)
Fixed emscripten::val handle for special js values (undefined,null,true,false)
val::equals, val::strictlyEquals
Merge pull request #2923 from ericrannaud/incoming

Test for va_arg support on struct types (disabled on nested struct)
FS tests should not accumulate FS defines
Implement GLES3 functions:

* glGetActiveUniformBlockName
* glGetActiveUniformBlockiv
* glGetIntegeri_v
* glGetUniformBlockIndex
* glGetUniformIndices
* glUniformBlockBinding
Implement GLES3 Transform Feedbacks.
Make sure zero length reads work in NODEFS

Fixes #2266
Empty ungotten chars for all filesystems when llseeking
Perform fgetc/ungetc test on both MEMFS and NODEFS
fix other.test_require
sdl_image version 3
Merge pull request #2939 from aidanhs/aphs-test-only-one-fs

Make tests of different filesystems actually test the different filesystems
Merge pull request #2942 from djg/webgl2-transformfeedbacks

Implement GLES3 Transform Feedbacks
Issue a GL error if WebGL2 glBindTransformFeedback() is called with a nonexisting or an already deleted GL object. Don't write out any bytes in glGetTransformFeedbackVarying() if bufSize == 0 or if the name ptr is null.
Define Pointer_stringify(x) with (x equal to 0, null or undefined) to return an empty string without performing a memory load from address 0.
Fix the possibility of a failing glGetTransformFeedbackVarying() from throwing a JS exception to caller.
Merge remote-tracking branch 'remotes/djg/webgl2-uniformblock-1' into incoming

Conflicts:
	src/library_gl.js
Merge pull request #2945 from aidanhs/aphs-ungetc-nodefs-fixes

Fix ungetc on nodefs
Merge pull request #2948 from juj/Pointer_stringify(0)

Pointer_stringify(0)