handle decoding and encoding bmp images with transformations. Because
this isn't a popular file format, we don't actually expose it as an
option for format transformation.
Fixes#182
if any transformation is requested, first apply any additional
transformation necessary to correct for the EXIF orientation tag, since
it is stripped from the resulting image.
Fixes#63
values between 0 and 1 have the same behavior as the size option - it is
treated as a percentage of the original image size. Negative values for
cx and cy are calculated from the bottom and right edges of the image.