Render every frame instead of matching AE fps (#673)

As of 2.5.0, Lottie would try and match the framerate specified in After Effects. This ends up just making things look janky most of the time. This reverts that to the old behavior of rendering every frame.

Fixes #647
diff --git a/LottieSample/src/main/kotlin/com/airbnb/lottie/samples/PlayerFragment.kt b/LottieSample/src/main/kotlin/com/airbnb/lottie/samples/PlayerFragment.kt
index f3b0301..314fd9a 100644
--- a/LottieSample/src/main/kotlin/com/airbnb/lottie/samples/PlayerFragment.kt
+++ b/LottieSample/src/main/kotlin/com/airbnb/lottie/samples/PlayerFragment.kt
@@ -363,6 +363,7 @@
         warningsContainer.removeAllViews()
         updateWarnings()
 
+        // Scale up to fill the screen
         scaleSeekBar.progress = 100
     }
 
diff --git a/lottie/src/main/java/com/airbnb/lottie/utils/LottieValueAnimator.java b/lottie/src/main/java/com/airbnb/lottie/utils/LottieValueAnimator.java
index ecaf1c4..dcee48a 100644
--- a/lottie/src/main/java/com/airbnb/lottie/utils/LottieValueAnimator.java
+++ b/lottie/src/main/java/com/airbnb/lottie/utils/LottieValueAnimator.java
@@ -16,7 +16,7 @@
 
 
   private float speed = 1f;
-  private long frameTime = 0;
+  private long lastFrameTimeNs = 0;
   private float frame = 0;
   private int repeatCount = 0;
   private float minFrame = Integer.MIN_VALUE;
@@ -81,19 +81,15 @@
     }
 
     long now = System.nanoTime();
-    long timeSinceFrame = now - frameTime;
+    long timeSinceFrame = now - lastFrameTimeNs;
     float frameDuration = getFrameDurationNs();
-    float frames = timeSinceFrame / frameDuration;
-    int wholeFrames = (int) frames;
-    if (wholeFrames == 0) {
-      return;
-    }
-    frame += isReversed() ? -wholeFrames : wholeFrames;
+    float dFrames = timeSinceFrame / frameDuration;
+
+    frame += isReversed() ? -dFrames : dFrames;
     boolean ended = !MiscUtils.contains(frame, getMinFrame(), getMaxFrame());
     frame = MiscUtils.clamp(frame, getMinFrame(), getMaxFrame());
 
-    float partialFramesDuration = (frames - wholeFrames) * frameDuration;
-    frameTime = (long) (now - partialFramesDuration);
+    lastFrameTimeNs = now;
 
     notifyUpdate();
     if (ended) {
@@ -109,7 +105,7 @@
         } else {
           frame = getMinFrame();
         }
-        frameTime = now;
+        lastFrameTimeNs = now;
       }
     }
 
@@ -126,7 +122,7 @@
   public void setComposition(LottieComposition composition) {
     this.composition = composition;
     setFrame((int) frame);
-    frameTime = System.nanoTime();
+    lastFrameTimeNs = System.nanoTime();
   }
 
   public void setFrame(int frame) {
@@ -134,7 +130,7 @@
       return;
     }
     this.frame = MiscUtils.clamp(frame, getMinFrame(), getMaxFrame());
-    frameTime = System.nanoTime();
+    lastFrameTimeNs = System.nanoTime();
     notifyUpdate();
   }
 
@@ -166,7 +162,7 @@
 
   public void playAnimation() {
     frame = isReversed() ? getMaxFrame() : getMinFrame();
-    frameTime = System.nanoTime();
+    lastFrameTimeNs = System.nanoTime();
     repeatCount = 0;
     postFrameCallback();
     notifyStart(isReversed());
@@ -183,7 +179,7 @@
 
   public void resumeAnimation() {
     postFrameCallback();
-    frameTime = System.nanoTime();
+    lastFrameTimeNs = System.nanoTime();
     if (isReversed() && getFrame() == getMinFrame()) {
       frame = getMaxFrame();
     } else if (!isReversed() && getFrame() == getMaxFrame()) {
diff --git a/lottie/src/main/res/values/ids.xml b/lottie/src/main/res/values/ids.xml
index 541869b..5ba70a6 100644
--- a/lottie/src/main/res/values/ids.xml
+++ b/lottie/src/main/res/values/ids.xml
@@ -1,5 +1,4 @@
 <?xml version="1.0" encoding="utf-8"?>
 <resources>
     <item name="lottie_layer_name" type="id" />
-    <item name="rc_file" type="id" />
 </resources>
\ No newline at end of file