wayland: Fix a crash in dnd action matching
In order to match dnd actions, we need both a data source and a data offer. If the preferred actions of either change, then a new dnd must be chosen.
The code that sets up the monitoring of the preferred actions of the data offer sets the correct receiver context object (data source).
But the code that sets up the monitoring of the preferred actions of the data source uses the data source as the receiver context object, however we would like to break the matchOffers connection when either the data source or the data offer is destroyed.