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?
Good catch about the circular import. That's actually a real issue. I'll post a fix shortly.