Add sync-group timeout for transition

This allows to use different timeout according to transition type.
Also
 - Avoid indeterminate timeout by scheduling for individual windows,
   or a new window joins the sync-group lately.
 - The standalone sync request from applyWithNextDraw won't be mixed
   with the control of sync-group.

Bug: 199836343
Test: atest TransitionTests#testTimeout
Test: setprop persist.debug.shell_transit 1;
      Launch an activity or change display orientation while the
      UI thread of the activity is no response, the transition
      should execute eventually within the timeout e.g. 5s and 2s.
Change-Id: Iafecc01818193504ea3fd393817691e1b5e9f084
10 files changed