do the push/pop group thing here too
do the push/pop group thing here too

the issue is that cairo assumes that the source and target aren't
overlapping, and so just does a naive copy, which works in one direction
but not the other. this isn't documented, so i'm assuming that it's not
actually safe to assume that just because it happens to work here, it's
guaranteed to always work, so i'm avoiding the issue entirely.

doy/runes