regex implementation from musl.
Support SDL audio sample size of 512 samples. Make the SDL audio buffer queueing logic more resilient for jitter, and factor out a common parameter 'SDL.audio.numSimultaneouslyQueuedBuffers' that can be used to tune for a good quality<->latency balance.
Rename redundant wording EGL.eglErrorCode to just EGL.errorCode.
Add concepts of current context, and current draw and read surfaces on that context. Implement functions eglGetCurrentSurface(), eglGetCurrentDisplay() and eglGetCurrentContext(). Allow passing EGL_NO_SURFACE and EGL_NO_CONTEXT to eglMakeCurrent. Fixes #1793 and #1775.
Add unit test for EGL context creation and confirming that #1775 and #1793 work.
Write src.cpp in unit test in binary mode so that line endings are stored as '\n' on Windows as well. Fixes test other.test_fs_stream_proto on Windows, where the test assert()s on the binary file size of the written src.cpp (Windows '\r\n' line endings would bloat the size slightly, causing test failure).
Add CMakeLists.txt from https://github.com/madler/zlib/releases/tag/v1.2.5 to tests/zlib to be able to build it on Windows via CMake.
Delete tests/zlib/zconf.h file from the zlib source tree, since it is an automatically generated file during configure step. Add Emscripten-specific mod to make zlib CMakeLists.txt build succeed.
Use CMake to build zlib in test other.test_outline on Windows. This test did not pass since 'sh ./configure' was attempted to build on Windows.
note on linpack
set TOTAL_MEMORY to default to powers of two, for now
Merge pull request #1797 from juj/egl_context_state

Egl context state
Merge pull request #1800 from juj/fix_test_outline

Fix test_outline on Windows.
Implement support for glGetProgramiv(GL_ACTIVE_UNIFORM_MAX_LENGTH) and glGetProgramiv(GL_ACTIVE_ATTRIBUTE_MAX_LENGTH). Test this as part of gles2_uniform_arrays.cpp. Closes #1796.
Merge pull request #1798 from juj/gles2_max_program_lengths

GLES2 max program identifier lengths.
warn on missing symbols by default; fixes #1794
tidy up case of first letter in error/warning
test for multiple undefined symbols
don't show both errors and warnings on undefined symbols
Adjust other.test_preprocess to not include a path delimiter in the string that it tests for successfully preprocessed file. In linux, the output line would contain "tests/hello_world.c", but on Windows, the equivalent line is "tests\\hello_world.c". Fixes other.test_preprocess on Windows.