Implement support for the "filterRes" attribute on the deferred SVG filter rendering path.

This requires drawing the input primitive at a lower (or higher) res, and then resampling it up (or down) with an SkResizeImageFilter at the end of processing. The clip rect has to be enlarged to accommodate the resized image, otherwise it will be clipped against the original device size, which may be smaller. This is a little tricky, since it has to be done just before the beginLayer() (to ensure that the offscreen device is large enough), and restored just before the endLayer() (to ensure that the resulting offscreen is not clipped against the clip bounds we set for the saveLayer). So it can't be done with save()/restore(), so we save the bounds as per-RenderObject data in m_objects.

In order to avoid using Skia datatypes in core/, I made GraphicsContext::getClipBounds() return a FloatRect instead of an SkRect. The only other caller was ClipRectToCanvas(), whose only caller was NativeImageSkia::drawResampledBitmap(). I've removed the former, and rewritten the latter to use Skia calls directly.

BUG=337459

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

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