Fix application of OBB paint-servers when device scale != 1

The additional text transform would be applied after the "regular"
userspace transform, which in the object bounding box case meant that
any possible translation would not be applied correctly (wouldn't be
subject to the additional scaling.) The code was also sensitive to whether
or not any text-decorations needed to be painted with the paint-server,
since that could end up clobbering the userspace transform.

Fix by applying the additional text transform in the correct order, and
always re-compute the "resource space" transform in the relevant
applyResource(...) methods.
Give the additional transform for the non-scaling stroke case the same
treatment, since it could end up clobbering the userspace transform when
the same paint-server was used for both the stroke and the fill of an
object.
The code used for computing the "resource space" transform is split out of
RenderSVGResource{Gradient,Pattern} and moved to the super-class
(RenderSVGResourceContainer.)

BUG=360571

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

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