Fixed issues for using with the latest dart.

Creating a list with a size will have fixed size.
"reduce" got replaced with "fold"
Merge pull request #47 from Nican/latest

Fixed issues for using with the latest dart.
Quaternions can probably be multiplied now.
rotationBetween method for quaternion.
Not precise enough. Giving really weird camera angles on the roller coasters at times.
Fixed issue where new shaders were not getting compiled.

The "code" variable did not hold all the attributes and it would not
detect different shaders. This was a difficult bug to catch... Three.js
is not coded for dart-style code...
Made the method more flexible for other uses.

Vector.dot is not a member of IVector3, manually computing the dot.
Merge pull request #48 from Nican/latest

Updated Quaternions methods..
Document is no longer a element. Use document.body.
Dart has the wonderful feature of allowing a boolean to have 3 states.

There exists a if statement that checks for that value, and it throws
when it sees a null.
Unable to set the geometry to dynamic.
removeRange no longer works like that. Using removeAt instead.
Ops. Forgot to change the number of arguments.