Add paint_worklet_input_ to cc::PaintImage

When Blink paints, it will create an Image if it is by CSS Paint.
When this image is embedded in a display item list and passed to cc,
it would be a cc::PaintImage.

This CL makes a cc::PaintImage keeps a scoped_refptr to a PaintWorkletInput,
which contains all the input parameters that are necessary to execute
JS paint callbacks. Note that the PaintWorkletInput is a pure interface,
so for testing purpose, we create a class TestPaintWorkletInput.

Bug: 907897
Change-Id: I5f8562eaaf747fc6da723de11f0d668027f4469d
Reviewed-on: https://chromium-review.googlesource.com/c/1348259
Commit-Queue: Xida Chen <xidachen@chromium.org>
Reviewed-by: David Bokan <bokan@chromium.org>
Reviewed-by: vmpstr <vmpstr@chromium.org>
Cr-Commit-Position: refs/heads/master@{#614064}
11 files changed