viz: Add IPC to set authoritative vsync inteval.

This call originates in the browser process and is passed back to a
SyntheticBeginFrameSource in the GPU process. This is pretty simple
plumbing.

The change requires RootCompositorFrameSinkImpl knowing it has a
SyntheticBeginFrameSource. Wrap up the results of DisplayProvider into a
struct so that we can handle the ExternalBeginFrameSource case too
without adding more output parameters.

Bug: 772524
Cq-Include-Trybots: master.tryserver.chromium.android:android_optional_gpu_tests_rel
Change-Id: I9af43d4278475d07d19aefe7a03b6ee2426b536d
Reviewed-on: https://chromium-review.googlesource.com/767352
Commit-Queue: kylechar <[email protected]>
Reviewed-by: danakj <[email protected]>
Reviewed-by: Tom Sepez <[email protected]>
Cr-Commit-Position: refs/heads/master@{#517637}
8 files changed