Began rewrite of Vector3 class.

Signed-off-by: Jared Woolston <jwoolston@tenkiv.com>
Finished synchronizing usage of scratch member Vector.

Signed-off-by: Jared Woolston <jwoolston@tenkiv.com>
Added documentation to about half of the existing class.

Signed-off-by: Jared Woolston <jwoolston@tenkiv.com>
Added a lot more documentation and reorganized the methods.

Signed-off-by: Jared Woolston <jwoolston@tenkiv.com>
- Finished adding documentation to existing methods of Vector3. 
- Added rajawali.math.vector package and moved Vector2 and Vector3 to
it.
- Added ImmutableVector3 which inherits from Vector3.
- Refactored more methods and moved some static members to Matrix4.
- Updated CHANGELOG.md

Signed-off-by: Jared Woolston <jwoolston@tenkiv.com>
Corrected documentation of ImmutableVector3 and made
Vector3#getAxisVector(Axis) throw an IllegalArgumentException rather
than return null on invalid input.
Refactored some methods from Quaternion into Vector3. Fixed a perceived
error in the vector to vector projection method.

Signed-off-by: Jared Woolston <jwoolston@tenkiv.com>
Updates ATransformable3D to more efficienty use Vector3.

Signed-off-by: Jared Woolston <jwoolston@tenkiv.com>
Updated rajawali.animation package to more efficiently use the new
Vector3 class.

Signed-off-by: Jared Woolston <jwoolston@tenkiv.com>
Fixed issue with orientation. The ImmutableVector3 implimentation was
not behaving as expected. Returned to a mutable Vector3 for the X,Y,Z
axis vectors and warned developers to not modify. This is a tradeoff of
safety for speed and since no one should ever mess with those vectors,
this has been deemed acceptable by myself and @ToxicBakery.

Signed-off-by: Jared Woolston <jwoolston@tenkiv.com>
Merge pull request #970 from Tenkiv/Vector3_Rewrite

WIP: Vector3 Rewrite