Start aspect ratio work
Respect the aspect ratios
GenericField: use a better default image filename
Rejig the preview area in the CMS
Define function of max/min dimension settings

Previously this wasn't really clear... but now we're using the same meanings as those defined in the UI widget's functionality rather than something completely arbitrary

Redefine target => max dimensions
Use absolute path when validating image existence
Ensure the ratio is valid on set
Set maximum dimensions
Clarify aspect ratio / maxgen functionality

* Aspect ratio explicit setting is useful to enforce on the backend
* Fix ceil() call so it happens last (KS2 maths, dude, seriously)
* Clean tests