Finished draft framework for bind.h
wait for window:load to run emrun_register_handlers
forward document.URL to worker
comment on worker failure in emrun_file_dump
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.