Fixed a bug in Animation3D which caused interpolatedTime to decrease just
before reaching its target.

interpolatedTime should increase from 0 -> INF. Using the % operator in
rajawali.animation.Animation3D (see below) caused a knock on effect which
decreased interpolatedTime just before it reached its target.

76: millis %= mDuration;
.
.
.
84: diff = (float) (millis - mStart);
85: interpolatedTime = mInterpolator.getInterpolation(diff / (float) mLength);

I have also edited line 83.
if (millis > mStart && millis < (mStart + mLength)) {
if (millis > mStart && millis <= (mStart + mLength)) {

This has the desired effect of stopping (for example) a RotationAnimation
exactly at the desired target angle... instead of very close to the target
angle which is what currently happens.
Added onAnimationUpdate to Animation3DListener

I have added a new function to the interface Animation3DListener.
I think it is very useful to be able to see the progress of an animation.
Merge pull request #301 from ccoffey/master

Fixed a bug in Animation3D