Revert of Revert of Fix assorted issues with remote CoreAnimation (patchset #1 of https://codereview.chromium.org/517733002/)

Reason for revert:
Patch was reverted in error

Original issue's description:
> Revert of Fix assorted issues with remote CoreAnimation (patchset #2 of https://codereview.chromium.org/516643002/)
>
> Reason for revert:
> Speculatively reverting to see if this helps the mac perf bots:
> https://code.google.com/p/chromium/issues/detail?id=408673
>
> Original issue's description:
> > Fix assorted issues with remote CoreAnimation
> >
> > These issues came up while running for a few days with the
> > flag --enable-remote-core-animation.
> >
> > Fix flashes of old frames by hooking up the DiscardBackbuffer (which
> > happens when being made non-visible) to re-set the CAContext and
> > CALayer (so the browser gets a new one with new content for the next
> > frame).
> >
> > Add support for disabling vsync by using setNeedsDisplay to draw.
> >
> > Change the backpressure mechanism to rely on the browser to apply
> > backpressure in its compositor via the cc:: output surface.
> >
> > Add a ScopedSetGLToRealGLApi structure to ensure that we are talking
> > to the real GL API while in the CoreAnimation callback.
> >
> > BUG=312462
> >
> > Committed: https://chromium.googlesource.com/chromium/src/+/3b6aee8ed0393d852ed21fae78f539ffffe3e8f8
>
> TBR=piman@chromium.org,ccameron@chromium.org
> NOTREECHECKS=true
> NOTRY=true
> BUG=312462
>
> Committed: https://chromium.googlesource.com/chromium/src/+/07539c445c9fa7161b3da9031cf440a2b657dd18

TBR=piman@chromium.org,epenner@chromium.org
NOTREECHECKS=true
NOTRY=true
BUG=312462

Review URL: https://codereview.chromium.org/517143002

Cr-Commit-Position: refs/heads/master@{#292481}
11 files changed