Reworking interface and API for UI Handlers

* `SlotHandler now sends an `ItemDropped` event instead of a `MouseUp`
event. Returning `true` from the handler will consume the currently
dragged item
* `DraggableHandler` now sends: `Hover`, `Drag`, `Click`, `ItemDropped`.
Returning a `DraggableItem` will begin dragging it
* Interaction with `DraggedItem` Singleton is now done via `Draggable`
and `Slot` instead of the individual handlers