[SIMD.js] Add SIMD128 types and operations

Add the Float32x4, Float64x2, Int32x4, Float32x4Array, Float64x2Array
and Int32x4Array data types.
Add the SIMD operations on the Float32x4, Float64x2 and Int32x4 with
C++ runtime functions and implement Float32x4Array, Float64x2Array and
Int32x4Array element loading and storing.

Float32x4, Float64x2 and Int32x4 are implemented as JSObject.
These objects contain a "value" pointer pointing to a corresponding
FixedTypedArray which is the real data storage.

Conflicts:

	include/v8.h
	src/bootstrapper.cc
	src/compiler/access-builder.cc
	src/heap/heap.h
	src/heap/mark-compact.cc
	src/objects-printer.cc
	src/runtime.cc
	src/runtime.h
[SIMD.js] Fix the heap unit tests
[SIMD.js] Inline all SIMD operations

The implementation is only for ia32 and x64 ports.

Optimize Float32x4Array, Float64x2Array and Int32x4Array element loading
and storing for ia32 and x64 port by:
  1). Allocating SIMD128 registers
  2). Emitting SIMD movups instruction
  3). Adding deoptimization support for SIMD128 registers or stack slots

Inline all SIMD operations and emit SIMD instructions for ia32 and x64 port

Conflicts:

	src/hydrogen-types.cc
	src/hydrogen-types.h
	src/hydrogen.cc
	src/ia32/assembler-ia32.cc
	src/ia32/assembler-ia32.h
	src/x64/assembler-x64.cc
	src/x64/disasm-x64.cc
	test/fuzz-natives/testcfg.py
[SIMD.js] Implement SIMD128 data load and store APIs

It allows developers to load or store 1, 2, 3, and 4 elements of SIMD128
data from or to variable typed arrays.

The APIs inlucde:
SIMD.float32x4.load
SIMD.float32x4.loadX
SIMD.float32x4.loadXY
SIMD.float32x4.loadXYZ
SIMD.float32x4.store
SIMD.float32x4.storeX
SIMD.float32x4.storeXY
SIMD.float32x4.storeXYZ
SIMD.float64x2.load
SIMD.float64x2.loadX
SIMD.float64x2.store
SIMD.float64x2.storeX
SIMD.int32x4.load
SIMD.int32x4.loadX
SIMD.int32x4.loadXY
SIMD.int32x4.loadXYZ
SIMD.int32x4.store
SIMD.int32x4.storeX
SIMD.int32x4.storeXY
SIMD.int32x4.storeXYZ

This commit only optimizes accessing float32x4 in Float32Array and Int8Array,
accessing int32x4 in Int32Array and Int8Array as well as accessing float64x2
in Float64Array and Int8Array.

TODO=optimize for x64
TEST=mjsunit/simd/loadstore
BUG=XWALK-2865

Conflicts:
	src/hydrogen-instructions.h
	src/hydrogen.cc
	src/runtime.cc
	src/runtime/runtime.h
Merge pull request #70 from huningxin/simd-m40

Rebase SIMD.js patches to M40