The gdk-pixbuf plugin does not work here, for whatever reason.
Moreover, close integration exposes higher bit depths, metadata,
and auxiliary images.
The library is awful and copylefted, but it's the only reasonable
thing that works.
Sadly, they don't have a canonical extension, and they don't show up
in the browser. We might want to employ some level of sniffing.
The first 16 bytes are enough to identify a lot.
Speed matters here, and this makes us about 20 percent faster
at loading large directories.
Moreover, libpng's PNG_ALPHA_BROKEN is indeed broken.
Thumbnails have a fairly fixed format, so there are very few practical
corner cases that could have been missed.
We need to refactor, so that SVGs are pre-rendered on each change
of scaling by librsvg directly, because some elements may be rasterized.
It would be best to also support building against resvg.