audio: Make stream_read return correct number of filled samples when no
data is available (zero).
dsound: A direct sound voice could not be restarted once it has been stopped.
dsound: Fix crash when attaching empty stream to dsound voice.

The first time the direct sound buffer is filled the code assumed that
enough samples are available in the audio stream to completely fill the
buffer.
dsound: Reset buffer position in stop instead of play.
dsound: Fix calculation of current sample position.