gdk/wayland: Handle simultaneous selection requests

Merged Carlos Garnacho requested to merge wip/carlosg/simultaneous-clipboard-access-3.24 into gtk-3-24

Cache separately the selection contents for each given window/selection/atom combination, and keep the requestors separate for each of those.

This allows us to incrementally request multiple mimetypes, and dispatch the requestors as soon as the data is up. This stored selection content is cached until the selection owner changes, at which point all pending readers could get their transfers cancelled, and the stored content for the selection forgotten.

Merge request reports