[ios] Creates InfobarBannerCoordinator.

The goal of this CL is to change the current architecture to support Coordinators. After this
we'll be able to create a Coordinator conforming to InfobarCoordinating for each InfobarBanner
that uses a different InfobarDelegate.

- Makes InfobarContainerCoordinator the InfobarConsumer instead of the InfobarContainerVC.
- Creates InfobarCoordinating which will define the public interface for future
InfobarBannerCoordinators.
- Creates InfobarConfirmCoordinator, conforming to InfobarCoordinating for the
ConfirmInfobarBanner.
- Creates InfobarBannerDelegate which InfobarBannerVC uses to communicate with its Coordinator.
- Moves infobar_controller_delegate to a public source_set to avoid a dependency cycle.

Bug: 911864
Change-Id: Idc52c4ef76b6780b27e88101ac35fac719b3c4be
Reviewed-on: https://chromium-review.googlesource.com/c/1447375
Commit-Queue: Sergio Collazos <sczs@chromium.org>
Reviewed-by: Mark Cogan <marq@chromium.org>
Cr-Commit-Position: refs/heads/master@{#633423}
18 files changed