Fix support for unaligned loads and stores

This patch reverts 42ea326b24d35a8e3036bd6e7c91ed4b522e9dd3, since broke
handling of misaligned loads and stores, and adds tests for unaligned
loads and stores.
Implement new min/max semantics

Following the proposal in
https://github.com/johnmccutchan/ecmascript_simd/issues/67

These min and max functions follow the Math.min and Math.max semantics,
and are arguably the more intuitive and semantics.

This patch also introduces minNum and maxNum functions, which follow the
IEEE-754 minNum and maxNum semantics.
A new API for loads and stores.

This implements the proposal at
https://github.com/johnmccutchan/ecmascript_simd/issues/78

This will give us both user-friendly float32x4 loads from Float32Array
data, and low-level low-overhead float32x4 loads at arbitrary offsets.
Add tests for minNum and maxNum.
Fix {load,store}{X,XYZ} in wider-element arrays.

Fix the SIMD loadX, storeX, loadXYZ, and storeXYZ functions for
int32x4 and float32x4 in the case where the typed array element size is
wider than the SIMD element size. This is hopefully a very uncommon
case.
Don't use floor for float-to-int conversion

The default rounding for float-to-int conversion should be truncation,
rather than floor.
Use consistent coercion in constructors

Make the SIMD constructors convert their scalar operands to their
desired types.
Simplify constructor coersion

Use |0 instead of a function which does conversion to int32 using a typed
array, and use Math.fround when available for converstion to float32.
Tests for floating-point comparisons.
Tests for integer comparisons.
Additional tests for abs, neg, and div
Merge pull request #80 from sunfishcode/minmax

Implement new min/max semantics
Fix typo.
Use instanceof instead of toString()

bbouvier noticed that instanceof is much faster than toString() for this
use case!
Handle typed array offsets.

Fix loadX and storeX handling of typed arrays with non-zero byteOffset
fields.
Merge pull request #88 from sunfishcode/tests

Miscelaneous tests
Merge pull request #82 from sunfishcode/ctors

Fixes and tests for constructor functions
Add "ByScalar" to shift operations

Rename the shift operations to include "ByScalar" to clarify that their
shift count is a scalar value, and to make namespace room for adding
vector-vector shifts in the future.
Testcases for shifts.

Add tests for shiftLeftByScalar, shiftRightArithmeticByScalar, and
shiftRightLogicalByScalar.
Remove zero() from the polyfill / spec.