systemclipboard: Don't emit signals for data source cancellations
Right now we emit "selectionChanged" when either:
- we get an external new selection
- our own selection gets cancelled
Semantically that's correct, if our own selection gets cancelled there's no data in the clipboard, globally it's changed.
Pragmatically, we don't need to know about the latter event. It's not useful information for userspace code - and worst means we process events twice if clipboard is transferred from klipper to a client.
This fixes a major issue with klipper when a user disables middle click paste. The compositor sends a cancel event on new clipboards, klipper detects the clipboard is empty and populates it.