[Media Router] Add DialMediaSinkService and DeviceDescriptionService
Discover process:
DialMediaSinkService.Start() registers itself with DialRegistry
DialMediaSinkService.OnDialDeviceEvent() gets invoked when device data comes back, and starts a 3s timer
Start description fetches for each device
DeviceDescriptionService.OnDeviceDescriptionFetchComplete() gets invoked when device description comes back.
Starts an XML parser in utility process to parse device description XML
DialMediaSinkService.OnDeviceDescriptionAvailable() gets invoked when parsing in utility process finishes
Create MediaSinkInternal and store it in DialMediaSinkService's sink map
Invoke DialMediaSinkService.FetchCompleted() when timer expires
Design doc:
https://docs.google.com/document/d/1lJbE4Oc9q1amkWEaD2ZL4mHEdRRlKHvwxUUcJmNC8b8/edit#heading=h.ur85je1upm9u
BUG=687375
Review-Url: https://codereview.chromium.org/2701633002
Cr-Commit-Position: refs/heads/master@{#468251}
24 files changed