Perform view model onTaskInfoChanged after split animation.

Currently, we perform DesktopModeWindowDecorViewModel#onTaskInfoChanged
when StageCoordinator#onTaskInfoChanged is called. However, this results
in a race condition where sometimes the window decoration's relayout
would occur before the split transition is complete, causing the
relayout to finish with outdated split information. This in turn causes
the DesktopModeWindowDecoration's statusBarInputLayer to be positioned
incorrectly as the passed TaskInfo would indicate that split tasks are
still in fullscreen.

This CL moves StageCoordinator's call to ViewModel's onTaskInfoChanged
to after the animation is complete.

This fix exposes a side effect where when a split task is dragged to
split again, the opposite stage decor's statusBarInputLayer is not
disposed of. This CL remedies that as well.

Bug: 356953522
Test: Manual; perform repeated drag to split transitions and confirm app
handle is responsive.
Flag: EXEMPT, bugfix

Change-Id: I8fad5a61f6ea6f7176633b63e1c3685b834d9246
2 files changed