ui: Introduce CanvasPainter, remove PaintContext(gfx::Canvas*).

This adds a helper class called CanvasPainter for painting a View
into a bitmap-backed gfx::Canvas, for non-composited (off-screen)
painting.

This class uses a DisplayItemList-backed PaintContext, removing
the need for a PaintContext(gfx:Canvas*) constructor.

Also changes views_unittests to use DisplayItemList-backed
PaintContexts, so that the tests are explicitly testing View paint
cacheing.

R=sky
BUG=466426

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

Cr-Commit-Position: refs/heads/master@{#332963}
15 files changed