I've looked at Dragula in the past, and it's pretty good. I think it could be used as the basis of a slightly hacky plugin that worked most of the time, but there are some problems around refreshing. The goal would be for drag operations to continue uninterrupted even if the widgets concerned were refreshed. That means that the state of the drag operation needs to be stored and restored over the refresh, and that's quite a tough problem to solve in general. But by constraining the functionality and simplifying, it ought to be possible to get something usable.
For the core, I'd want to do drag and drop properly. One aspect is much easier: unlike Dragular, TW5 doesn't try to support old browsers, which means that we can use the browser native drag and drop support, which is pretty good these days.
Best wishes
Jeremy.