Drag&Drop refactor and bugfixes

drag starts only when minimum mousemove happens after leftbuttondown