Wrote more precise calculations to make the defaults better looking.

I made the radius larger than the length of the ticks, because I find that to be more visually appealing. I also added a floor and ceiling to the number of lines the spinner has, based on my experiments. The width of each tick has a ceiling of 4, because anything larger than that looks bad.
Expanded Demo page to handle more cases