Force DEFAULT cast mode when starting presentation from content.

The Presentation API spec recommends that the origin requesting
presentation be shown to the user when PresentationRequest.start() is
called.  This patch sets a new flag on a CastMode, isForced, that will
cause the cast mode picker to show it initially when it is rendered.
This flag is set when the Media Router UI is initialized from a
PresentationRequest (e.g., from PresentationRequest.start()).

There are a few cleanups that could be done as followup changes:

- DEFAULT cast mode is more logically PRESENTATION since the request can
  come from any PresentationRequest (not just the page-default one).
- CreatePresentationConnectionRequest and PresentationRequest are very
  similar and could be combined.
- A default content::PresentationError is initialized with type
  NO_AVAILABLE_SCREENS.  It would seem more logical to initialize with
  type UNKNOWN.

TBR jam@ for a comment only change to presentation_info.h.

BUG=704964
TBR=jam
CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:closure_compilation

Review-Url: https://codereview.chromium.org/2862393002
Cr-Commit-Position: refs/heads/master@{#473330}
13 files changed