[xwl] Create a new datasource on offer changes
Offers shoul be set on a source before data_device.set_selection. Doing so afterwards appears to be against the spec and as such we may not pass the update to wayland clients / klipper.
(cherry picked from commit bc6eba61)