* Fix pixel rounding error in the picture layer by first ensuring that
the texture for the image is at least as big as the next integer size
along each dimension and using kStrict_SrcRectConstraint while
drawing the same image. We already select the source subset by
looking at the cull rect of the picture.
* Decompose the transformation matrix into a series of operations that
generated the same to calculate the scale at which to rasterize the
picture. This make the rasterization scale resilient to
transformations that introduce a perspective component to the
resultant matrix.
* The scale in the decomposed matrix is now part of the key in the
cache.
* Raster cache images that could never be rasterized were still taking
part in the cache. Now, those entries are rejected early on. This
leads to the sweep after the frame iterating over fewer items.
* Added a unit test target.