Refactor elapsed

This removes all the FlxG.elapsed invocations deep in the bowels of the code and instead passes the elapsed time down through update() cycles. By default the core engine passes in FlxG.elapsed.

Also, FlxSprite now has separately overrideable updateMotion() and updateAnimation() functions.

This closes this issue:
https://github.com/HaxeFlixel/flixel/issues/1188
Works for me.