Fixes for multi-monitor per-workspace wallpapers

This fixes several issues with the per-workspace backdrop code,
especially with multi-monitor setups. Selection mode in the settings
app is set to browse to enforce an item is always selected. Also
xfdesktop trys to avoid redrawing the wallpaper on a workspace
change if the backdrops are identical. The --reload option works
correctly again.
Thumbnail service support to xfdesktop-settings (Bug #6536)
Fix warnings and add workspace-changed signal

Removed the code attempting to bind to the brightness setting since
that functionality was removed. In xfdesktop-settings connect to the
workspace-changed signal to properly update the image_iconview.
Add an iconview tooltip

Add a tooltip letting the user know that the image style is set to
none and therefore they can't select a wallpaper in the iconview.
Apply wallpaper to all workspaces option
Change thumbnail and padding in the settings app

Increase the thumbnail size and lower the padding between individual
thumbnails in xfdesktop-settings.
Fix a warning message
Fix memory leaks
Clip overlapping backdrops (Bug #9052)

In a multi-monitor setup each successive wallpaper drawn has the
previous area subtracted from it so that the wallpapers aren't
drawn over each other.
Correctly handle workspaces being removed

When workspaces are removed the xfconf bindings need to be removed
and it also handles the single workspace number set to an invalid
workspace.
Make the image style default setting consistant
Fix for invalid single workspace number in settings app

Xfdesktop-settings app now repsonds to workspaces being created
and destroyed because it can impact how the single workspace mode
operates. If the single workspace number is set to a workspace that
is destroyed it reverts back to per workspace wallpapers and toogles
the checkbox so that the user knows what is going on.
Remove unused code
Respond to monitors-changed events
Cache wallpapers when they are loaded

This is to make workspace switching faster. It only cached when drawing the
wallpaper because the user may have lots of workspaces configured for whatever
reason and never use all of them, so this would save on the memory overhead.
This patch also improves the backdrop comparison check and simplifies the
unbinding of some settings.
Use an async message queue to load preview images

This patch uses the g_async_queue for message passing between the
main thread and the preview thread of the settings app. Doing this
gets rid of the idle timeout callback and a seperate thread loading
function. It also makes it easy to pop any pending previews when
the app changes what the icon view should display.
xfdesktop-settings is more responsive

Changed to using g_file_enumerate_children_async and enumerating
each file individually in an idle callback function to keep things
responsive while loading large directories of images. This is also
cancellable so that when the user moves the window to a different
monitor or workspace it will respond faster.
Select wallpaper on loading

Increases the icon view item padding size so the selected item stands out better.
cb_folder_selection_change is manually called because GTK introduced a bug where
changing the gtk file chooser folder in code no longer emits the correct signal.
Update icon view frame name based on monitor count
Change lable to read: Apply to all workspaces