Fixes #192.

This PR implements navigator rotation. The thumbnail rotates correctly and the display region does too. I also tested it with some non-standard rotations (135 degrees, 45 degrees and some others) as I will be implementing those later and the navigator rotates correctly. Finally, I also added a ``navigatorRotate`` option.

There is one issue that I found and I am not sure what the best way to fix it is. Namely, rotating an image which has a width which is considerably higher than its height by 90 degrees results in a section of the image not being visible. Both in the navigator and in the main viewer. My suspicion is that somewhere the drawer (or perhaps some other class) stores data about the image size and it simply needs to be rotated. I have tried finding the location of this but after some time decided that it may be best to ask here and create a PR for what I have got done so far. If someone could point me in the right direction I would really appreciate it.

Thanks.
While this code works, I think it oversteps the bounds of responsibility for Viewport. To keep proper encapsulation, Viewport shouldn't know anything about the viewer's navigator. My recommendation is for this function to raise an event (see #454), and for the viewer's navigator to subscribe to that event. Then the navigator can do whatever it needs to rotate itself. 

Speaking of which, we haven't yet officially dropped support for IE8, which doesn't have CSS transforms. It seems like it should be possible to accomplish all of this without CSS transforms... have you looked into that?