Normalize: fix coding error; optimizations

Optimize the case when normalizing 100% opaque Normal mode layers: all
surface-backed layers can just have their tiles copied into the new layer
as-is.

Fix a related exception on this codepath: looks like it was committed in a
half-finished state.

Fix nonsensical comment.
Fix loader exception
Implement fallback layers

Allow layers that GdkPixmap knows about (other then PNG and SVG) to be
handled via a fallback bitmap layer type. They're rendered on the canvas
and can be moved around, and will be preserved and saved verbatim.

Also preserve and display layer data that GdkPixmap *doesn't* grok. These
get a small, ugly icon on the canvas showing the top-left corner of the
layer, but that's it. After all, we don't even know their bounding box.
The idea is that the user will see the mess and go sort these out in the
app that created them. In this case, verbatim preservation on save rather
than just silently dropping the layer is probably a good idea.

Fallback layers of both types can be edited via their associated external
app.

Layers can be converted to painting layers using the Normalize function,
although this may have unexpected behaviour in some cases. Perhaps we
should add a "Convert Layer to Painting Layer" command?

Both types of fallback layer get a "?" icon in the layers list.

Fixes #101 (allow layers to be preserved and moved, even if unrenderable).
Fixes #100 (as far as I want to take it right now, anyway).