This fixes two issues the previous algorithm had:
1. A half-turn rotation used to show up as -180°.
2. Rotating more than 180° in one drag event would overwhelm it
and cause the value to go outside its range.
This comes at the cost of a negligible performance hit,
since a division (modulo) is performed instead of just addition/subtraction.