Consistent rate of animation

As requestAnimationFrame just renders on the next avaliable paint
cycle, it runs on a variable framerate. Because of this, it's a bad
idea to time the animation by the frames themselves. Now, the
animations are timed by the timestamp, instead.