Reland of cc: Add mailbox support to ResourceProvider write locks. (patchset #24 id:460001 of https://codereview.chromium.org/1951193002/ )

Original issue's description:
> cc: Add mailbox support to ResourceProvider write locks.
>
> This adds support for mailboxes to ScopedWriteLockGL. Using the mailbox
> requires using ScopedTextureProvider/ScopedSkSurfaceProvider which
> ensures that the texture id for the mailbox is destroyed after use on
> the worker context.
>
> This CL also includes the following cleanup:
> 1. ResourceProvider locks don't keep resource pointers around.
> 2. ScopedSamplerGL does not inherit from ScopedReadLockGL.
> 3. GpuRasterizer is folded back into GpuRasterBufferProvider.
> 4. TileTaskManager does not own RasterBufferProvider.
>
> BUG=525259
> R=piman@chromium.org
> CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel
>
> Committed: https://crrev.com/5fa5dbdf25bbec21b84f752d3f0642cd184467e2
> Committed: https://crrev.com/3b0f0b8d3db0a9f66864d5b7da87c82f49e74a29
> Cr-Original-Commit-Position: refs/heads/master@{#398204}
> Cr-Commit-Position: refs/heads/master@{#399983}

R=piman@chromium.org
BUG=525259, 621422, 621130
CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel

Review-Url: https://codereview.chromium.org/2081883002
Cr-Commit-Position: refs/heads/master@{#401717}
27 files changed