Allow all rotation angles

Fixes #194.

I hope my viewport calculations are correct.

I also have code which allows for pinch rotate, would you like me to create a PR for that too? If so, should I add an option for it?
Sorry I didn't catch this earlier, but the doc comment for this function mentions the 90-degree limitation. Please remove that. Otherwise I think this patch is ready to go.