Fix typo with missing parentheses from previous commit that broke keyevents from performing deferred fullscreen/pointerlock requests.
Manually implement mouse movementXY in HTML5 mousemove events when the browser does not provide the data. Fixes part 2) from issue #2219.
Implement support for Webkit mouse wheel events. Add new interactive mouse test. Checked on OSX Safari 6.0.5. Fixes #2219.
Add an automated version of the html5 mouse test in browser test suite.
Fix SDL Web Audio to work on Safari 6.0.5. That browser does not implement the AudioBufferSourceNode.start() method, but only has the older .noteOn() method, and the audio ctors don't come out as functions, but strongly typed ctor objects.
Fix OpenAL library to work with old Web Audio API syntax that exists in Safari 6.0.5 at least.
Make tests/openal_playback.cpp compilable outside the test runner.
Fix typo in comment.
Merge pull request #2225 from juj/safari_webaudio

Safari 6.0.5 webaudio fixes in SDL and OpenAL library.
Add better documentation to emscripten/html5.h KeyEvent structure on the current implementation and deprecation status of the various fields. See also pr #2222.
Merge pull request #2224 from juj/osx_mouse

OSX mouse support.
add a Nested branch type in relooper, to represent a path we must make sure is nested so that parallel paths do not get intertwined. this allows us to emit a more canonical form of nested ifs as a result of short-circuit operators; 1.13.2
test for bad triple warning
add -profiling option
fix commented-out relooper code
Short-circuitize bitwise expressions.

In controlling-expression contexts, convert bitwise expressions like
(x|y) into (x?1:y) when safe and when y is "non-trivial", to allow the
computation of y to be short-circuited out.