audio: Add al_fill_silence to replace _al_kcm_get_silence.

The previous pattern, memset(buf, _al_kcm_get_silence(...), ...),
only worked by coincidence for any signed sample formats greater than
8-bits wide, and could not possibly work for unsigned samples.

With modifications by Peter.
dsound: Prevent misuse of buffer_size_in_samples by reducing scope.