Image feature detection

This pull request adds support for feature detection and image smartcropping into Wagtail.

It performs face/feature detection and crops images based on their content.
It looks like the Wand backend doesn't implement this. We should either implement it, or document the fact that it isn't implemented (and therefore feature detection won't work with Wand).

More broadly (and probably out of scope for this feature), I think we could do with reconsidering the whole multi-image-backend architecture... I'm sure we can do better than forcing implementors to choose between two mutually-exclusive backends with different capabilities and limitations. Ideally Wagtail would be smart enough to figure out the best way to do a particular image operation according to whichever libraries are available (bearing in mind that Pillow *is* still a hard requirement of Wagtail, even for Wand users) with no further configuration necessary.