Fix demo driver when sample rate/limit is changed during acquisition.

The demo driver could have an integer underflow when calculating the
number of samples to send when the sample rate or limit is changed
while acquisition is active.

If the sample limit is made smaller than the current number of
samples collected so far then acquisition is now stopped immediately.

When the sample rate is changed the driver simply starts outputting
samples at the new sample rate.