protocol: Allow output changes to be treated atomically
protocol: Allow output changes to be treated atomically

This add a wl_output.done event which is send after every group
of events caused by some property change. This allows clients to treat
changes touching multiple events in an atomic fashion.

abooij/wayland,tulcod/wayland,bitfactor/wayland,mchalupa/wayland,eyolfson/wayland,eyolfson/wayland,mchalupa/wayland,sir-murray/wayland,eyolfson/wayland,sir-murray/wayland,mchalupa/wayland,tulcod/wayland,bitfactor/wayland,sir-murray/wayland,abooij/wayland,tulcod/wayland,bitfactor/wayland,abooij/wayland