Added ability to customize thumbnailing engine.

Easy_thumbnails and sorl-thumbnail are supported out of the box but one could also easily provide their own by inheriting from ThumbnailEngine.

Previously it was assumed that it'd only work with easy_thumbnails. Now this can be customized, although easy_thumbnails is still used by default for backwards compatibility reasons.

What do you think?
Can this section go into `adminboost.settings`, so all `adminboost` settings are available in one place, and perhaps be simplified a little?

E.g. get from Django settings first if defined, else set to `adminboost.preview.EasyThumbnailEngine` if `easy_thumbnail` is available, else set to `adminboost.preview.SorlThumbnailEngine` if `sorl.thumbnail` is available, else raise `ImproperlyConfigured` and suggest that `ADMINBOOST_PREVIEW_ENGINE` be defined and point to a custom engine or `easy_thumbnails` or `sorl.thumbnail` be installed.

Then we would also have no need for `DummyEngine`.