Custom Transformations take precedence over default behavior

Custom transformations should take precedence over default resizing behavior

When loading large photos, the width and height passed in to the resize() function are used to set the sample rate. However, if want to apply custom transformations, they are currently applied only after the default transformations have been performed. This prohibits transformations that require knowledge of the original dimensions and rotation of the image. It also means that custom transformations must be applied instead of the default behavior when provided.

This does require changing the signature of Transformation.transform() to match that of BitmapHunter.transformResult(), which admittedly is not ideal.