strict fix: Duplicate key in object literal.
strict fix: Can't use octal constants.
fix sanity tests
update browser.test_matrix_identity
When LEGACY_GL_EMULATION is enabled, we cannot use WebGL VAO extension effectively, since we need to maintain the VAO state in the emulation layer to be able to programmatically construct the appropriate VBOs for rendering. Therefore only use WebGL VAO extension only when LEGACY_GL_EMULATION is not set. (An alternative could be to glGet() the VAO state when bound, or to maintain a shadow cache alongside the VAOs in the emulation layer, but that wholly defeats the performance purposes of VAOs, so it's the same to just never use the VAO extension when emulating). This fixes the browser GL emulation VAO tests.
fuzzing improvements
add fuzz testcase with noalias surrounding an i64 that must be legalized
enable indirectbr tests in fastcomp
strict fix: Don't define functions within conditionals or try blocks.
Merge pull request #2143 from waywardmonkeys/strict-fixes

Strict fixes
tolerate negative values of precision in printf, fallback to default precision
Squashed commit of the following:

commit e2a8165560c7ec6be2d5650e0a3c6a4b520d1f56
Author: Joel Croteau <jcroteau@gmail.com>
Date:   Fri Feb 21 01:40:50 2014 -0800

    Fix indentation in fillMouseEventData

commit a5d620164e2ab7cb7ba61803c1eedb53f888f4cb
Author: Joel Croteau <jcroteau@gmail.com>
Date:   Thu Feb 20 23:56:01 2014 -0800

    Remove dependency on Browser.getMovementX/Y

commit 2e4f0a4c5fc9ab1857e33862c49e20c1418320c2
Author: Joel Croteau <jcroteau@gmail.com>
Date:   Thu Feb 20 10:27:52 2014 -0800

    Fix error that was causing FillMouseEventData to fail with SAFE_HEAP enabled

    The parentheses without semicolons generated when using SAFE_HEAP
    caused the compiled code to generate SAFE_HEAP_STORE is not a function
    errors.

commit 470dbf6bcb3f88c809b3fea41e197680eda08c7e
Author: Joel Croteau <jcroteau@gmail.com>
Date:   Thu Feb 20 07:12:02 2014 -0800

    Fix bug causing incorrect movement values in mouse events

    This adds code to correctly set the movementX and movementY members
    of EmscriptenMouseEvents sent to callback functions by the HTML5
    event library. movementX and movementY are not members of the base
    HTML5 mouse event, so we need to add extra code to retrieve them
    for our events.
Merge pull request #2145 from TV4Fun/mousefix

Fix bug causing incorrect movement values in mouse events
Merge branch 'incoming' of https://github.com/kripken/emscripten into incoming

Conflicts:
	src/library_html5.js