Add some unit tests that verify we can pass all kinds of primitive types through val::as
tests for val::as on strings and val too
make val::as<> compatible with asm.js
make val::new_ compatible with asm.js
It appears we can use doubles as generic wire types.
Some minor emval simplifications
Allow passing memory_views in varargs
Fix passing memory_views in varargs
Make val::call<> compatible with asm.js
Rename readValueFromPointer to readValueFromVarArg to make its sometimes odd behavior a little clearer
Make val::operator() compatible with asm.js
Make val::val(T&&) compatible with asm.js
Instead of varargs, which depend on the compiler, manually build the varargs packs on the stack.
Follow up from azakai's code review
Remove 'vararg' from names of functions, per code review.  Don't expand floats to doubles in argument packs.
Merge pull request #2264 from imvu/incoming-with-fastcomp-asm.js-emval-2

Make emscripten::val compatible with fastcomp/asm.js