[MediaFling] Add the skeleton of CAF expanded controller

This is part of the ExpandedControllerActivity to CAF
implementation. This CL only checks in the skeleton of the CAF
implementation of the expanded controller activity. The layout is
reused from the ExpandedControllerActivity so there's no UI
change.

The notification controller and the expanded controller activity
are now listeners to BaseSessionController so they both observe
the changes instead of relying on the session controller to
notify them.

The media route button layout is copied from
cast_controller_media_route_button.xml but with a different class
name because FullscreenMediaRouteButton is unsuitable for CAF.

Bug: 711860
Change-Id: I721890fbe159325203bf4368ccfd656db78f60f4
Reviewed-on: https://chromium-review.googlesource.com/c/1370393
Commit-Queue: Zhiqiang Zhang <zqzhang@chromium.org>
Reviewed-by: Thomas Guilbert <tguilbert@chromium.org>
Reviewed-by: Theresa <twellington@chromium.org>
Cr-Commit-Position: refs/heads/master@{#616537}
10 files changed