Simple waveshaper unit

Added simple waveshaper unit 'waveshaper', with a single ramped
control register 'amount' for shaping amount. The unit supports
one and two channels, where the latter applies the same effect
to both channels. The waveshaper does not alter the signal at
all when 'amount' is set to zero.

The 'amount' control register is not clamped, as negative values
are mathematically safe, but the waveshaper wasn't designed with
this in mind. The result is a slightly "thinner" sound, and gain
varies significantly with shaping amount.

The floating point prototype implementation is included, in case
we switch to/add floating point processing.

Transfer function:
    y = ( (3*a + 1) * x - (2*a * x*abs(x)) ) / (x*x * a*a + 1)

Included is the test/demo song wstest.a2s, which demonstrates the
waveshaper on pure sines, a filtered sawtooth bass, and finally,
sustaining sines, demonstrating the dist guitar like effect of
feeding multiple notes into the waveshaper.

Closes #150.