compositor: Track damage in surface-local coordinates
compositor: Track damage in surface-local coordinates

We transform the surface damage to global damage at weston_output_repaint()
time.  This way we don't touch the transform when it might not be valid
and in case of overlapping damage, we only copy pixels once for shm textures.

krezovic/weston,Gnurou/weston,jonnylamb/weston,Fantu/compositor-spice,eyolfson/weston,eyolfson/weston,giucam/weston,xorgy/weston,Tarnyko/weston-xdg_surface_present,kwm81/weston,sir-murray/weston,Tarnyko/weston-xdg_surface_present,xorgy/weston,Fantu/compositor-spice,Gnurou/weston,mchalupa/weston,giucam/weston,udoprog/weston,krezovic/weston,jonnylamb/weston,mchalupa/weston,sir-murray/weston,Fantu/compositor-spice,kwm81/weston,udoprog/weston