admin: try to be more generic on how drag'n'drop work

The first/second dance was because a `dragleave` event was issued when
we hover a child. We use `dragover` to fix that. There is still some
blinking with this solution...
admin: use a counter for `dragenter`/`dragleave` events.

This seems to be more reliable. And we avoid to waste cycles in
`dragover`.