Flexible HTML5 drag-and-drop mixin for React with full DOM control