render/pixman: fix flipped transforms and source crop
The translations for flipped offsets were set the same as non-flipped ones which was totally wrong and meant that any textures with flipped-transforms rendered entirely outside the viewport and were basically invisible.
Fix source crop in the pixman render backend. It was being applied by using a source offset as arguments to pixman_image_composite32(). But this is wrong because the source crop should get applied before all the other transforms, not after them (or at least this is how it works in the other wlroots render backends). Instead, apply the source crop as yet another matrix transform when we're doing transforms (Or keep it the same as previously if there's no other transforming going on).
Closes #3830 (closed)