Implement takeover functionality for the Home gesture on the Shell side.

This CL does a few things:
* Add a new registry for remotes so that they can be differentiated
  between "regular" and takeover remotes (requires registering twice for
  both functionalities).
* Add an API to Transitions to find a suitable handler to takeover a
  transition, and to TransitionHandler to handler the requests.
* Add an API to IRecentsAnimationController to hand off the recents
  animation, and to RecentsTransitionHandler to route it to the takeover
  remote correctly.

Bug: 323863002
Flag: ACONFIG com.android.systemui.shared.return_animation_framework_library DISABLED
Test: updated unit tests and tested manually
Change-Id: I58e2cccffa0da33260ae1e4b0d8a29f5965fa39a
11 files changed