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's to let somebody (for whatever reason) to render a rendition with a different focal point to the one in the database (doesn't seem like there's any harm being done by having it).

The purpose of "focal_point_key" is for when the focal points get changed on images. This allows wagtail to know when a rendition was generated for an old focal point so it can generate a fresh set of renditions. Its also used in the filename to signal to a frontend cache that the rendition has changed.