Changed how the error window's sizing works

It previously had a few minorly annoying quirks where GUI elements moved
around as the window changed size, but it's now more consistent.
Changed history-adding logic to only compare names

Previously it used BrushInfo.matches to compare same-ness, which meant
that if the user changed a small setting such as brush size, it would
count as an entirely separate brush and have it's own entry in the brush
history. This was undesirable, and simplifying the code to only compare
the brush names makes the history less likely to be polluted with small
changes.
Update CONTRIBUTING.md

Add tracker URI and a request to keep issues on topic.
Fix gamut mask template dialog exception

Fix an exception when trying to use the New button in the gamut mask
dialog. Looks like the shape-builders stanzas got typo'd in some of the
recent code cleanup commits.
Added a note on build-dep

Running `sudo apt-get build-dep` is a lot more convenient, but won't
work well if packages are too old.
Minor log message changes
Refactor: begin collecting little algorithms

Basic geometric and numeric stuff belongs in lib/.
Backgrounds: be less fussy, use PyGI syntax.

* Allow JPEG images to be used in the background library
* Walk background library directories recursively to find candidates
* Permit background images to be used which have alpha
  - works by compositing onto a black background
* Allow images that aren't a strict multiple of the tile size
  - works by tiling and repetition up to a preset limit
  - if that hits the lcm, that's great!
  - otherwise, scale closest fit encountered down to nearest tile multiple
  - hopefully still reasonably pretty and close to the original aspect
* Project: update copyright
* Coding: use PyGI syntax
* Coding: various stylistic fixes
* UI: tweak display of the background previews
Default bg: use fallback image, no dark-theme test

Use a nice fallback image if default.png doesn't exist. We don't ship a
standard default.png now.

No longer test whether MyPaint is configured to use dark themes to decide
the default background. Not every theme will have a "dark" variant, and
some themes are dark by default. Better to not try to be too clever, and
pick a fallback colour and fallback image that works OK for both dark and
light surrounds.
Ripped out legacy Psyco code

Psyco has been unmaintained for years and in all likelihood doesn't even
work with Mypaint, thanks to swig. In the unlikely case Psyco was
installed, Mypaint would probably just fail to start.
Fixed minor naming inconsistency

It's called "Trim Layer to Frame" everywhere else. It could be argued
that as the option is under the "Layer" submenu, the "Layer" part is
inherent, but that doesn't hold up as there's plenty of other items that
explicitly say "layer", such as "New Layer", "Normalize Layer Mode",
etc.
Fix background GtkRGB error