Initial background rework.

Background-relevant methods and classes have been moved in src/background when possible.
The final goal is to remove the legacy update_background() method (currently is renamed
to update_background_old()).

The BackgroundModes supported for now are COLOR and TILE.
Background: re-implemented STRETCH
Background: added BackgroundMode.CENTER rule.
Background: use BackgroundTools.general() when painting a stretched wallpaper
Background: added BackgroundMode.CROP rule.
Background: added BackgroundMode.FIT rule (re-uses crop())
Background: added BackgroundMode.SCREEN rule.

To ease things out, merged setup_background() with update_background().
Background: ensure we set the vera-color if we should.
src: moved AverageColor.vala to background/
desktop.vala: removed legacy update_background method.
Background: added settings for wallpaper randomization.

Enable with background-random-enabled and tweak the timeout by changing
background-random-timeout.

The wallpapers will be searched in background-search-paths (with the background-include wallpapers and
without the background-exclude ones)
Merge pull request #1 from vera-desktop/background_rework

Background rework