Finished draft framework for bind.h
fix async assertion for asm
Optimize 'HEAP32[(46 + 2|0) >> 2' to 'HEAP32[12]'

Merge joinAdditions and "num >> num" folding into simplifyBitops, and rename
it to simplifyOps. Make the main traversal in simplifyOps use a "post"
function rather than a pre function to allow optimizations to cascade.

The result is that given an expression like 'HEAP32[(46 + 2|0) >> 2',
simplifyOps can start by folding the '46 + 2', and then work its way out
and fold in the '>> 2', and arrive at 'HEAP32[12]'.
proxy some more gl calls
Merge pull request #2684 from sunfishcode/incoming

Optimize 'HEAP32[(46 + 2|0) >> 2' to 'HEAP32[12]'
fix bindAttribLocation semantics in gl proxying - they take place not immediately, but after the next link
EXCEPTION_DEBUG additions
refactor exceptions info into JS objects
clean up exception infos
Fix FUNCTION_TABLE folding suppression.

The check that disables simplification of expressions within
FUNCTION_TABLE subscripts needs to run in the "pre" visitor, not the
"post" visitor.

Also drop a TODO which isn't important. Opportunities to convert an
indirect call into a direct one would normally be already optimized by
this point.
de-adjust pointers to run the proper destructor when virtual inheritance is involved; fixes #2682
use Module.locateFilePackage as a further way to more generally customize the remote package name in file packager; fixes #2680
Merge pull request #2675 from hamishwillee/incoming

Draft framework for bind.h
[doc] Building the libc & libcxx doesn't use make/configure.
[doc] Fix a couple of typos.
disable closure in non-fastcomp test_exceptions
Minor fixes the building from source and toolchain docs. Also filesystem docs.
Skip over updating already deleted OpenAL sources.
Fixed OpenAL sources deeleting
Wrapped 'srcIdBySrc' method in OpenAL to OPENAL_DEBUG