Associate starting window in task fragment with base task

The 2 cases when a fullscreen activity is launching with starting
window (step a), and it launches embedded activity before it is
drawn (step b): (assume X,Y are 2 different activities)
 1. a. Task - X (Fullscreen) - starting window
    b. Task - TaskFragment - X (Left side)
            - TaskFragment - Y (Right side) - starting window
 2. a. Task - X (Fullscreen) - starting window
    b. Task - TaskFragment X (Left side)
            - TaskFragment - Task - Y (Right side) - starting window
The starting window will be transferred to the top activity (so it
won't be covered by other embedded activity according to z-order)
of the base task with keeping the configuration of base task.

Another case is to bring the base task to front with snapshot
starting window. That will find all visible activities and share
the starting data to them. Then the starting window can be removed
until all visible embedded activities are drawn.

Bug: 189385912
Test: ActivityRecordTests#testStartingWindowInTaskFragment

Change-Id: Ia4c0f4142d49f9e6ac9c39980b1157c35069ec4e
8 files changed