Replace hard-coded snap angles with function that allows arbitrary snapping increments. Currently no user visible change.