Fix for partial filter subregion specification with deferred filters.

Filter primitive subregions are specified as x/y/width/height, while
skia crop rects are left/right/top/bottom.  If x is set but
width is not, we were only sending the left edge. We must also tell skia
the right edge, in order to preserve the rect's original width.
Similarly when y is specified but height is not, we must tell skia the
new bottom edge.

Also changed all this code to use FloatRect instead of SkRect, since
these relationships are easier to express.

Covered by layout test svg/batik/filters/filterRegions.svg, when run
with --enable-deferred-filters.

BUG=

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

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