[Cast,Android] Handle some PresentationAPI edge cases

Update MediaRouteObservers when the route is detached vs terminated.
Update MediaRouter about the route closed if there's no client record or
successful session.
All edge cases happen when the page is not using the Cast Web SDK.

BUG=706998
TEST=manually on https://googlechrome.github.io/samples/presentation-api/cast.html

Review-Url: https://codereview.chromium.org/2788783002
Cr-Commit-Position: refs/heads/master@{#463680}
diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn
index 95e0ffa..8022a99 100644
--- a/chrome/browser/BUILD.gn
+++ b/chrome/browser/BUILD.gn
@@ -3056,6 +3056,8 @@
       "media/android/remote/remote_media_player_manager.h",
       "media/android/router/media_router_android.cc",
       "media/android/router/media_router_android.h",
+      "media/android/router/media_router_android_bridge.cc",
+      "media/android/router/media_router_android_bridge.h",
       "media/android/router/media_router_dialog_controller_android.cc",
       "media/android/router/media_router_dialog_controller_android.h",
       "media/midi_permission_infobar_delegate_android.cc",