The second argument is the end index.
It is 2*x*x

According to
http://www.euclideanspace.com/maths/geometry/rotations/conversions/quaternionToMatrix/
, it is 2*x*x...
Also reseting the other values to match three.js.
Update the quaternion when using it.

And set the position after, since the set rotation is resets the
translation.
Values can be infinite too.
Slerp should be able to take in a quaternion.
The implications of double.
More implications of doubles! Broken MeshPhongMaterial.

This was a pain to find.
Make color use doubles internally but expose a more permissive num interface
Added copy to IVector4