Replacing SurfaceReferenceBase and SequenceSurfaceReference with Closures

The sole purpose of SurfaceReferenceBase and SequenceSurfaceReference
was to be able to return the reference later on, but the same goal can
be achieved using closures with much less complexity. From now on,
SurfaceReferenceFactory::CreateReference returns a closure that returns
the reference once its called.

TBR=sadrul@chromium.org

CQ_INCLUDE_TRYBOTS=master.tryserver.blink:linux_trusty_blink_rel

Review-Url: https://codereview.chromium.org/2616403003
Cr-Commit-Position: refs/heads/master@{#442984}
12 files changed