Migrate to using musl libc sscanf to improve performance. Keep the existing JS vfscanf for Emscripten FS compatibility, and add the musl-specific version to be used when called from sscanf and vsscanf.
Skip the sscanf-requiring tests in suites that don't link to musl libc.
Migrate to using musl libc sprintf family to gain compiled asm.js performance. Keep a copy of handwritten vfprintf and fprintf around to be compatible with the Emscripten filesystem IO library. Also migrate frexp which sprintf depends on to musl libc.
Skip sprintf-accessing tests on s_ suites that require linking to libc.
Improve error messages from SAFE_HEAP_ACCESS function.
Fix test_cases to run after previous musl changes.
Migrate snprintf to musl. Move the most common sprintf-related code to libc instead of libcextra to avoid pulling libcextra in on common runs.
Disable testing the x86 triple i386-pc-linux-gnu in asm2.test_cube2hash, that triple is now deprecated.
Fix test test_sscanf to be spec-conformant in the treatment of scanf format specifiers. According to the standard, %255c matches exactly 255 characters, while %255s matches up to 255 characters.
Remove leftover scanf and printf stubs from library.js
Test s_0_0.test_dlfcn_stacks needs ta2.
Merge pull request #2364 from juj/musl_stdio

Musl stdio