Optiomize InsertElement chains.

LLVM doesn't have vector constructor operators; instead it uses chains
of insertelements. Teach Emscripten to collect chains and detect when
they form splats and constructor calls so that it can emit the natural
API calls.
Reference the array buffer directly.

Instead of taking the array buffer from the typed array view, just
reference the buffer object directly.