Some fixes for saved surfaces

- If we have a saved surface, and app relayouts to visible before we
  started entry animation, we need to restore the saved surfaces.
  Otherwise the surface might get stuck in the saved state, because
  we may not get to run any animation after this relayout.

- Keep track of the allDrawn while we're using the saved surfaces,
  so that we can rely on allDrawn itself, instead of whether we're
  using saved surfaces.

- If the app is set to visible when it's exiting, clear the exiting
  flags. Also, save the surface if we cancel an exiting animation.

- More debug logging.

bug: 26819496
Change-Id: Ie42c6eea7879632d82f24ed09c3b6e737dd6d8a4
7 files changed