Extract ActivityLaunchAnimator into a reusable class.

This CL removes all logic specific to notifications in
ActivityLaunchAnimator, so that it can be reused for other launch
animations.

I would suggest to look at ag/14057092 in parallel to make more sense of
the abstractions added in this CL.

For the sake of not making this CL even bigger than it already is, a few
things still need to be done in follow-up CLs:
 - Show the status bar icons at the right time, instead of at the end of
   the animation, when using the StatusBarLaunchAnimatorController.
 - Move the animation/ package outside of the SystemUIPluginLib library
   and instead have it in its own reusable library.
 - Replace the animation durations and interpolator to the latest
   designs.
 - Improve split screen by retrieving the final window bounds and
   prevent the clipping of the window during the animation.
 - Handle animations in the lock screen.

For review, I would recommend to review in order:
 1. ActivityLaunchAnimator.kt
 2. StatusBarLaunchAnimatorController.kt
 3. NotificationLaunchAnimatorController.kt
 4. GhostedViewLaunchAnimatorController.kt
 5. Everything else.

Bug: 184121838
Bug: 181654098
Test: Tap a notification when the shade is open and unlocked.
Change-Id: If4c3c64fcd153bb8e89111f56332013ca6dff156
diff --git a/packages/SystemUI/plugin/Android.bp b/packages/SystemUI/plugin/Android.bp
index d6204db..b3aba22 100644
--- a/packages/SystemUI/plugin/Android.bp
+++ b/packages/SystemUI/plugin/Android.bp
@@ -27,6 +27,7 @@
 
     srcs: [
         "src/**/*.java",
+        "src/**/*.kt",
         "bcsmartspace/src/**/*.java",
     ],