Desklets: Make sure to clean up when a drag is cancelled. (caused crashing)

DND: In some cases of a cancelled drag, the event handler would still be connected,
causing an in-between state, and preventing a new drag from being started, or an
old one from being completed.
Replace DnD threshold calculations to allow checking while off the
actor we're receiving events from.  This fixes the problem of attempting
to drag an item from it's edge, and then off the actor entirely, at which
point the threshold checker would stop receiving events until you went
back over the actor, resulting in a very confusing experience.

This uses a timer based check that is started at the same time as previously,
but it uses global.get_pointer at intervals to compare the current mouse
position with the drag start points, regardless of whether you're still
over the actor or not.
Remove some logging
DnD: Always recenter the dragged item on the mouse pointer once a drag
begins.
Improve desklet 'snap' behavior a little bit, have the snap guide follow
the dragged actor in a more natural fashion.
desklets: A bit more logical grid behavior when dragging
Make the pointer position during a drag the initial down-click point where
the user started the drag, instead of snapping to center regardless.
Fix desklets covering nemo desktop items, fix null reference
desklets/DnD: Fix for desklets becoming unresponsive temporily when
dropping them over a normal window.  They now consider that an invalid
drop target, and will snap back to their original position.
dnd:  have cancel snap-back take place over the rest of the items on the desktop
desklets: put container back to original spot, having them behind icons won't
work as long as nemo is renderering the background.
cinnamon-settings: Fix a couple issues
Desklets - hide the drag placeholder immediately upon cancelling a drag,
don't wait for the snap-back animation to complete.
cinnamon-settings:  Some layout fixes to make resizing work better in the
desklet/ext/applet/theme pages
Some unused code cleanup, added an update all button to streamline
downloading updated applets, etc...

Fixed a couple more issues
Photo frame desklet:  update the set of pics being displayed when new
pictures are added to the directory.
switch to proper for-loop
Remove 'description not implemented' from get more tab
Cinnamon-settings: Add touchpad tab to mouse panel
Cinnamon-settings: Add ability to custom size a panel - some panels
have immediate children that are scrolled windows, so we can't get a
useable preferred height from them for resizing purposes.  In that case
we can set a specific height to size the window to, that gets rid of most
of the blank space on that particular panel.