wayland: Introduce transactions

Vlad Zahorodnii requested to merge work/zzag/transaction into master

Transactions provide a way to apply new surface state to multiple surfaces atomically.

A transaction can be locked. In which case, it's not going to be applied until all locks are dropped. For example, this can be used to delay applying new surface state until the committed buffers become idle.

Edited by Vlad Zahorodnii

Merge request reports