The AnimationContext handles updating all animated values and calls to window.request_animation_frame().
It is required to provide one in a parent context before calling create_animated_signal()
An AnimationTarget is a target value for the animation system to ease towards to along with
details about the animation such as its duration, easing method and how to deal with previous animations.
An easing function is one that takes a value between 0.0 - 1.0 and maps it to another value between 0.0 and 1.0
See https://easings.net for a list of implemented functions