Refactoring ImageView

Two new signals have been added, draw-bg and draw-fg. These are called
before and after drawing the image view frames respectively.

The code to draw the frames has been made into a method.
Added "new-window" signal to the image viewer application
Added background preferences tab
Bug fixed: Closing the open image dialog after opening directories using the
"Add" button now correctly goes to the first opened image.

This was related to a missing signal connection that didn't finish an
opening context when it's been "let close" AFTER the criteria for closing
the context had been met.
Custom background preferences are now saved and loaded.

Adding spaces around docstrings
The custom background now removes its signal handlers when it is disabled.
Added checkered backgrounds
Added logging of saving and loading the background preferences
Adding the tooltips for spin effect/zoom effect
Merging a branch that adds background customizing to the preferences dialog