VID-1810 Redo the janky image handling that existed before

@drsnyder I know about that code and have a vague idea of what its doing.  At this point both are necessary though; I need to do my calculations to tell the thumbnailer what to do in the language it understands; it then needs to implement what I've asked.  If there was a direct interface for asking the thumbnailer `fitWithin` or `fitClosest` of course wouldn't need to do that math.

In addition to not providing a direct interface for `fitWithin` and `fitClosest`, it also implements some screwy feature specific business logic with the `thumb_scale` parameter.  This is an integer from 0 to 10 that allows the placing of a cropping window in one of 11 equally spaced places from the top to the bottom.  That is, if you had a 100x100 image, setting `thumb_scale` to 5 would crop the image to the rectangle (y1=50, y2=100, x1=0, x2=100), a value of 7 would be (y1=70, y2=100, x1=0, x2=100).  Wtf?  This is what makes the Thumbnailer hard to use and understand; many options have side effects that change behavior in unexpected ways.