Desklets: Make sure to clean up when a drag is cancelled. (caused crashing)

also..

DND: In some cases of a cancelled drag, the event handler would still be connected,
causing an in-between state, and preventing a new drag from being started, or an
old one from being completed.