Optimize the SIMD.js code generation

Two optimizations for discussion:
 1. generate Float32x4Array.getFloat32x4 and Float32x4Array.setFloat32x4 for memory load and store
 2. generate SIMD.type.shuffle and SIMD.type.shuffleMix for __shuffleVector 
Due to this API is still under discussion, I will remove the unaligned getFloat32x4 change in this PR and only focus on shuffle code generation.