FrameSinkVideoCapturer: Mojo IDL and glue w/ FrameSinkManagerImpl.

Introduces the Mojo IDL for the new VIZ FrameSinkVideoCapturer, and
modifies viz::FrameSinkVideoCapturerImpl to implement the mojo-generated
interface.

Notable integration-related changes:

1. An interface change was made to the consumer's OnFrameCaptured()
method, to pass the elements of the captured video frame in a form that
is much more convenient for client-side use.

2. FrameSinkManager: Added a CreateVideoCapturer() method to
FrameSinkManager so that privileged clients can create instances. Added
glue for resolving compositor frame sinks, just-registered frame sinks,
and auto-terminating capture when frame sinks are unregistered.

3. Updated unit tests, adding "RunLoop.Run()" as needed to allow Mojo
method calls to propagate.

[email protected]

Bug: 754872
Cq-Include-Trybots: master.tryserver.chromium.android:android_optional_gpu_tests_rel
Change-Id: Ie5ad1ecbce624bd8e373bcaa212ed50a13f2a420
Reviewed-on: https://chromium-review.googlesource.com/833035
Commit-Queue: Yuri Wiitala <[email protected]>
Reviewed-by: kylechar <[email protected]>
Reviewed-by: Xiangjun Zhang <[email protected]>
Cr-Commit-Position: refs/heads/master@{#527504}
14 files changed