SIMD header file updates

Add more xmmintrin.h shuffle function wrappers, add attributes nothrow and
const to the emscripten API functions, and general tidying.
Fix minor user namespace incursions.
Make vector typedefs may_alias.

This avoids ambiguities in the C type-based aliasing rules when loading
from arrays of float using float32x4 types.