Experimenting with non-linear instrument slider
Experimenting with non-linear instrument slider

Previously, all sliders for instrument parameters changed the
parameter linearly as the slider was dragged. However, for some
parameters this isn't ideal. For example, for the pitch wobble
"amount" field, we want to be able to fine-tune the amount for
lower values (e.g. 50 cents) while still allowing it to be set
to a much larger value such as 1200 cents. However, a linear
scale prevents the ability to fine-tune when the range is large.

As an experiment, this commit changes the pitch wobble "amount"
slider to work exponentially. For example, suppose a parameter
goes from 0 to 500, and the slider is at the halfway point. With a
linear scale, this will result in a value of 250 (i.e. 500 * 0.5).
With an exponential scale, this will result in a value of 125
(i.e. 500 * (0.5^2)).

This allows the slider to have greater sensitivity in the low
range, while still allowing it to be set to larger values, and
not changing the minimum and maximum allowed values. This seems to
match how some controls on other synthesizers work.

This commit is an initial experiment to see how well this works in
practice. If it works well, it could also be used for other fields
such as the "Attack", "Decay", and "Release fields for envelopes.
It's also possible there is a better function to use than x^2.

jstrait/jssynth,jstrait/jssynth