More conservative source pixbuf caching: Bug #715198

Prior source pixbuf (untransformed, full-sized decoded images) cache
was per-photo, holding onto the source pixbuf for 180s.  For casual
browsing it wasn't onerous, but if the photos were loaded quickly
in succession (either with the photo viewer or, worse, via the
programmatic thumbnail regenerator) memory usage would climb into the
gigabytes.

This uses a more conservative source pixbuf cache, holding only a few
at a time and releasing them much more quickly.  The PixbufCache
class does a better job of long-term pixbuf caching by holding onto
scaled images rather than full-sized.