This means that brush items such as box-shadows get correct edge
AA when they are transformed, which was not previously supported.

Also fix up the segment / rect AA support for transformed primitives.
Previously, we were using the clip rect or the local rect. This
works in most cases, but is not correct. Instead, explicitly pass
in the prim rect and the segment rect, and apply the local clip
rect to each of those. In most cases, these are the same, but for
some primitives they differ.

Add a basic test suite to ensure AA is working correctly on border,
box-shadow, rect and image primitives.