Added the opening.py module

This revision is broken and lacks previously implemented image opening
features. Fixing in next commits.
Reprogrammed the open image dialog and its interface.

It now works as before opening.py however most image opening
functions are still not reimplemented.
Reimplemented sibling files search in opening.py

It is still not 100% functional since it doesn't remember the first file
that was opened like it did before.
Reimplemented go to "trigger" file in sibling search

Improvements still need to be made as the current method is just not going
to work if something bad happens.
Partially reimplemented pasting / DnD for URIs

A bug was fixed in ImageStripLayout that wouldn't update the focus image
as None if the album was emptied
Changed button on "open image" dialog from "Cancel" to "Close"
Fixed bug in ImageStripLayout that triggered when sorting an album
Fixed file opening ordering, made avaiable an open_uris method for windows.

The way sibling search works is a hack right now and maybe it is never
going to be programmed to work as it should.
Improved notification.py logging features with neat coloured ANSI codes
Fixed bug with layout menu options not being saved after the window is closed
Implemented pasting, drag'n'drop.

There are still bugs and hacks but the functionality is pretty much the
same as before the opening module now.
Fixed unloading bug in image sources created from pasted/dropped image data
Fixed bug with static gifs not being displayed
Added keep_open and let_close methods
Modified open image dialog to work as a non-modal dialog
Fixed bug: autozoom mode preference not being saved/loaded
Added a logger class for the preferences module with blue logging text
Merging branch for more complicated opening algorithms