Fix enter/leave with same draggable and dropzone

Incorrect dragenter and dragleave events would fire on every move if the
draggable was a selector Interactable and was also a dropzone and the
drag happened over an element matching the draggable.
Reorganise the process for getting drops
Add element argument to Interactable#getRect
Combine checks for selector and element dropzones

The dynamicDrop setting is currently broken
Fix the 'dynamicDrop' setting
Collect possible and actual drops separately
Try again to fix dynamicDrop
Add and use the 'getDropEvents' function
Fix a bug in the default Interactable#getRect
Tidy and compact getDrop
Merge branch 'drop-improvements'