Bug 717872 - Move all image animation logic into a new class, FrameAnimator, and use it from RasterImage. r=seth

This patch moves the logic of moving from one frame to another (and tracking
what frame is current, etc) to a separate class, FrameAnimator. Deciding
*whether* to animate, and actually calling that animation code, is left to
RasterImage, but the animation itself is driven by FrameAnimator.