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

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

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