asm-llvm: Allow comma-separated global variable declarations.

See https://github.com/dherman/asm.js/issues/63
asm-llvm: Fix mutability of foreign imports.

See https://github.com/dherman/asm.js/issues/64
asm-llvm: broaden return type before trying to merge types.
asm-llvm: additive chains can occur on both the left and right operands.
Add emscripten box2d benchmark to asm-llvm test suite.
Add emscripten zlib benchmark to asm-llvm test suite.
asm-llvm: fix bugs in switch statement and assignment expression.

These bugs found in the lua-binarytrees.js testcase from arewefastyet.com.
Add new lua-binarytrees.js and bullet.js test cases for asm.js type-checker.

These test cases needed to be tweaked slightly in order to type check.
See https://bugzilla.mozilla.org/show_bug.cgi?id=854061#c10
and https://bugzilla.mozilla.org/show_bug.cgi?id=880807#c1