Our changes:
Remove outercircle
remove angle calculations
allow 9-position snaps
more efficient onDraw
allow square or circular limits