However, We don't lookup the object of view-timeline-name for CSS animations
until we finish its implementation in the patch series.
Note: this patch assumes `view-timeline-inset` is not animatable. We will
fix it in Bug 1817073.
Differential Revision: https://phabricator.services.mozilla.com/D170001
Just like how we handle the CSSAnimation and CSSTransition. We use
TimelineCollection to store the named progress timeline objects created
by scroll-timeline-name and view-timeline-name, and reuse
ElementAnimationData to handle the life time of TimelineCollection.
Also, introduce TimelineManager to update timelines generated by CSS.
We add one test which mutates the scroll-timeline-axis to make sure we
restyle the animations associtated with the existing timelines. It will
be passed when we start to use the new framework, in the next patch.
Differential Revision: https://phabricator.services.mozilla.com/D169271