Add support to only show a certain area to the sheet widget.

This is one part to get a question based mode working (issue #13).
Fixes so that SheetWidget behaves properly if it is not scrolled.
Changes to sheet widget to allow multiple views at the same time.
Allow multiple widget hierarchies to be created.

This change greatly enhances the feature set of the widget view buddies. If
a provider to manage the active sheet exists, then multiple widget hierarchies
can be created. These may point to different (or even the same) sheet.
Pass the provider to the created widgets.

This means that multiple views can now be created. The only small bug
is that the image may be freed by a second provider if two separate
once instantiated.
Transform current matrix instead of setting it.

This fixes a bug in newer GTK+ version where the drawing was in the
wrong location.
Ignore clicks outside of bounding box.