Replace MediaController with media::FlingingController

FlingingRenderer needs to be updated when status changes happen on a
device that it is currently remoting to. Instead of coupling the
MediaController interface to the MediaStatusObserver interface, it is
simpler to add a new interface that groups the MC and MSO.

The best name for this interface is probably MediaRouteController, but
there is a naming collision with media_router::MediaRouteController.
mr::MRC is a class with baked in desktop and Mojo concepts, and
precise lifetime management, that is not immediatly extractable into
an interface. It is simpler to add a new interface now, and have
mr::MRC implement this interface later.

This CL adds the FlingingController as a high level, simple interface.
It will eventually be renamed to MediaRouteController, as part of
the work to unify the desktop and mobile remoting experience
(see crbug.com/820277).

Bug: 790766
Change-Id: I8248f2fd4b2022c371f37a8fd73af267b3735e7e
Reviewed-on: https://chromium-review.googlesource.com/1136008
Reviewed-by: Mounir Lamouri <mlamouri@chromium.org>
Reviewed-by: Dmitry Gozman <dgozman@chromium.org>
Reviewed-by: Takumi Fujimoto <takumif@chromium.org>
Commit-Queue: Thomas Guilbert <tguilbert@chromium.org>
Cr-Commit-Position: refs/heads/master@{#576942}
24 files changed