Improve accuracy of scaling via uniform transformations

In #246 I added a code path for scaling assets by forcing the pixmap settings to describe explicitly uniform transformations. But I didn't do a very good job because I described the transformation in terms of the *contained* squares instead of the *containing* squares. That is, I contracted the input and output rectangles into squares to describe the scaling instead of expanding them. The latter approach deviates less from the ideal scaling factor. This pull request changes the expansion to contraction. It also ONLY applies this transformation for layers that have effects enabled because doing so may describe the scale less accurately, and we only want to do that when necessary to force effects to be scaled.

This breaks some of the automation tests again, but I've verified in each case that the results are more sensible now than they were before.
I think we should still do the "make the transform a square" thing even if there aren't effects.

If the user requested a uniform transformation, we should ensure that photoshop does this (and that it follows photoshop conventions for pixel rounding). Slightly non-uniform transforms are likely to introduce artifacts.