Transformation Override made available

Ability to override default transformations *without breaking the existing API*

From previous pull request, which was rejected for breaking the API:
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.

Improvement: This version doesn't break the API!