Move current/next frame logic from AnimationFrameset to AnimatedSprite

This fixes a bug that occurred when two AnimatedSprites shared the same SpriteAnimation. Both were changing the index of the current frame in the frameset, resulting in animations looking like they're "skipping".

Also added some comments about the classes.