Only guard DND cancel events with the version check
In a recent refactor a guard seemingly in the wrong place on SeatInterface was moved into AbstractDataSource, as typically that's where we guard.
However it turns out the original code was correct, we want to send cancel for all clipboard cancels, but for D&D it's version dependent.
This class introduces a new method to astract that from seat.