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..