Make data source objects "parentless"
The SeatInterface cleans up currentSelection and currentPrimarySelection when the AbstractDataSource::aboutToBeDestroyed() signal is emitted, but since the data source and primary data source have parent objects, they can be potentially destroyed without emitting the aboutToBeDestroyed() signal and thus leaving dangling pointers in SeatInterface.
CCBUG: 449101