[iOS] Add OverlayPresenterObserver::DidShowOverlay().

When transitioning from the tab switcher to a foreground tab, there is
sometimes a flicker that occurs between when the snapshot placeholder
is removed and the overlays are finished being presented.  By adding
DidShowOverlay() we can ensure that the snapshot remains in place until
the presentation of overlay UI has finished.

In order to implement this callback, OverlayPresentationCallback was
created so that the UI delegate can communicate presentation completion
back to OverlayPresenter.

Bug: 941745
Change-Id: I9663dd78019bea540bebf721978c627ff307888e
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1655993
Commit-Queue: Kurt Horimoto <kkhorimoto@chromium.org>
Reviewed-by: Mike Dougherty <michaeldo@chromium.org>
Reviewed-by: Sergio Collazos <sczs@chromium.org>
Cr-Commit-Position: refs/heads/master@{#684815}
35 files changed