scene: Compute repaint region with snapping to pixel grid taken into account
The rendering algorithm snaps the scaled position of an item relative to
its parent to the pixel grid at every level of the item tree. Due to that,
it's quite possible that the final painted region will not be the same
as logical region * scale
.
Given that the repaint region is specified in the logical coordinate system, we need to snap it to the pixel grid when scheduling a repaint.