Refactored most image functions into file type specifics (Work in progress)
Completed Refactoring / temporarily disabled poppler code again

All image backend related functionality now lies in separate functions,
such that multiple image backends can be supported. I intend to add
all backends supported by Evince; at the very least configurable,
but maybe even using a plugin structure, such that a package for pqiv
does not have to depend on all the backends, and different backends
can be served in different packages.

Even without the different backends, these refactorings are a huge
improvement of code quality and helped me find some bugs already.

TODO: Images do no longer have to store an image surface, because
some backends might not need one (say, poppler). Therefore, the external
image filter functions can no longer replace that on the fly. I
currently add a new, memory file after the current image with the
filtered output. The problem with that is that this image stays in
memory until pqiv quits. It probably should auto-unload or similar.