Refactor elapsed, closes #1188

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
A default value probably isn't too useful here anyway?