Refactor external begin frame source into a base class

There are several external begin frame sources in the code base,
and they all have the same logic.  mus will need another.  So,
refactor this logic into a base class that they all can reuse.

The followup to this will be to make Android's CompositorImpl's
ExternalBeginFrameSource derive from cc::ExternalBeginFrameSource.

R=danakj@chromium.org
CQ_INCLUDE_TRYBOTS=master.tryserver.blink:linux_precise_blink_rel

Review-Url: https://codereview.chromium.org/2281143002
Cr-Commit-Position: refs/heads/master@{#414927}
4 files changed