Expose startedPosition and pointersDown to STL descendants, if available

Until now, we have handled scrolls as gestures without a specific
starting position (using null) and have only considered one finger on
the screen.

Moving forward, we aim to accurately expose this information and we can
achieve this by leveraging the PointerInput API in the
MultiPointerDraggableNode.

New behaviors:
- MultiPointerDraggableNode now is a PointersInfoOwner and tracks the
  pointers events.
- We can access to the nearest ancestor PointersInfoOwner by using
  findAncestorPointersInfoOwner().
- The NestedScrollToSceneNode can determine the number of pointers and
  obtain the starting position during the nested scroll.

Test: atest ElementTest
Test: Tested on Flexiglass, the scroll between scenes still works. This
will enable two finger gestures on scrollable components.
Bug: 330200163
Flag: com.android.systemui.scene_container

Change-Id: Idf43855e0ee094a9e726a77cfc9b411c7e844dff
6 files changed