render/pixman: Improve transform performance
The old code to render transformed textures with pixman would run composite over the whole output regardless of the texture size. When rendering something small this caused a huge performance hit.
Rewrite the transform branch of render_pass_add_texture to:
- Only composite over the rectangle we're drawing to
- Apply a half-pixel offset to match other GPU-based renderers
- Generally try to make things a lot clearer and some comments
Fixes: #3832 (closed)