added support for rotating an image by a given number of degrees

setRotationBy(-90) for example, will rotate from the current rotation
-90 degrees, whereas the old method setRotation(-90) would set the
rotation from 0. This is still its the behavior.