Draggable: modified snapping algorithm to use edges and corners. Fixed #8165 - Draggable: Snapping doesn't take top/left into account properly

Fixed #8165 - Draggable: Snapping doesn't take top/left into account properly