[SVG] SkPicture caching for masks & clips

This CL introduces display lists (a thin wrapper for an SkPicture +
recording bounds), and implements SVG mask & clip caching using this
new mechanism.

The immediate performance gains are modest: a complex mask (several
SVG Tiger instances) in continous repaint mode shows about 5-7% paint
time reduction (~15ms -> ~14ms). But now that we have a persistent Skia
handle (SkPicture) in Blink, we can implement more aggressive
optimizations in Skia (caching the rasterized SkPicture results).

Also, since we are no longer allocating a fixed resolution bitmap, we
can cache one display list per resource (clip/mask), instead of one
ImageBuffer per-resource-per-client (as we used to do before disabling
record time rasterization for masks and clips).

After we migrate all SVG resources away from caching ImageBuffers
(patterns & filters still remaining), we should also do a cleanup
pass on RenderSVGResourceContainer, as some of its method names no
longer make much sense (removeAllClientsFromCache,
removeClientFromCache, etc).

R=pdr@chromium.org,schenney@chromium.org,senorblanco@chromium.org
BUG=313885

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

git-svn-id: svn://svn.chromium.org/blink/trunk@161169 bbb929c8-8fbe-4397-9dbb-9b2b20218538