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
Okay, so just force it to be defined? I was thinking of letting it have a default value that could detect whether it wasn't added (negative?) but maybe it should just be "always define your elapsed when you computeVelocity?"