Implement C-based events library for various HTML5 APIs.
Bump version after adding new entries to src/struct_info.json.
Reduce memory usage when assigning registers in a block.

Rather than pre-calculating liveness states and then processing nodes
in execution order, we process nodes in reverse execution order and
use the liveness info implicit in this traversal.  Names are assigned
a register when they're used for the first time, and the register is
freed when we reach an assignment.
Add dedicated testcases for registerizeHarder pass.
Simplify handling of switch statements in registerizeHarder.

It now assumes they're of the very restricted for that's actually
produced by emscripten, which both simplified the code and uncovered
opportunities for further register reduction in a testcase.
Add TODO about more permissive label handling in registerizeHarder
better error reporting on errors in js libraries; fixes #2033
export the runtime; fixes #2041
allow adding a custom prefix to file package downloads, so they can happen from a different url; fixes #2049
use correct bufferData method when passing a NULL pointer
rename filePackageURL to filePackagePrefixURL
Merge pull request #2051 from inolen/invalidate_buffer_support

use correct bufferData method when passing a NULL pointer
Merge pull request #2046 from rfk/rfk/registerize-harder-followups

Some follow-up fixes to registerizeHarder
Rename library_events to library_html5 and other suggested renamings. Add better support for reporting EMSCRIPTEN_RESULT_NOT_SUPPORTED for unsupported features.
Add test for storing special float literals in source code. Currently fails in fastcomp.
Merge pull request #2052 from juj/test_float_literals

Add test for storing special float literals in source code.
Merge pull request #2035 from juj/html5_events

HTML5 Events API.
Implement listener gain & get functions for OpenAL
Implement alIsBuffer
Implement basic stub for alEnable & alDisable