Make scroll-wheel modifier keys consistent in main editor window.

Add constants for the keyboard modifiers that should be used for vertical
zoom, horizontal zoom, and horizontal scrolling in the main editor window,
and use these where appropriate rather than using Keyboard::PrimaryModifier
and friends directly.
Make scroll-wheel modifier keys consistent in editor summary pane.

Separate out the handling of left/right scroll events from normal up/down
ones in the editor summary pane scroll wheel handling, and use the new
constants for scroll wheel keyboard modifiers in conjunction with up/down
scroll events. Modifiers for left/right scroll events should be unaffected
by this.
Add vertical zoom via scroll wheel modifier key to editor summary.

If the ScrollZoomVerticalModifier key is used with the scroll wheel over
the editor summary pane, zoom the editor vertically.
Add config variable for Freesound download folder location.
Use config variable for Freesound download folder location.

Use the new freesound-download-dir config variable to decide the location
of sound files downloaded from Freesound.
Move the Windows-specific logic to replace '/'s with '\'s from
Mootcher::changeWorkingDir() to Mootcher::ensureWorkingDir(), and remove
the now unused Mootcher::changeWorkingDir().
Use Glib::build_filename to construct the path.
Further Freesound tweaks.

Make download of sound files multi-threaded. Each sound file download takes
place in its own thread, and has its own progress bar and cancel button,
which stack up from the bottom of the list of results.
Sound files download into a file with a '.part' suffix, which is then
renamed to the intended name on success.
Add a 'Similar' button, which searches Freesound for sounds similar to the
currently-selected sound in the results list.
Use connect(..., gui_thread()) rather than g_idle_add().

Use the proper functions to ensure things happen in the main gui thread,
instead of fudging around with g_idle_add().
Amend comment to 'delete this'

Amend comment to 'delete this' to describe why I think it's OK.
Further Freesound import tweaks.

Make download of sound files multi-threaded. Each sound file download takes
place in its own thread, and has its own progress bar and cancel button,
which stack up from the bottom of the list of results.

Sound files download into a file with a '.part' suffix, which is then
renamed to the intended name on success.

Add a 'Similar' button, which searches Freesound for sounds similar to the
currently-selected sound in the results list.

Add a freesound-download-dir config variable to decide the location
of sound files downloaded from Freesound.

Move Windows-specific logic to replace '/'s with '\'s from
Mootcher::changeWorkingDir() to Mootcher::ensureWorkingDir(), and remove
the now unused Mootcher::changeWorkingDir().

Use Glib::build_filename to construct paths.