af: don't skip filtering if there's no more audio

My main problem with this is that the output format will be incorrect.
(This doesn't matter right, because there are no samples output.)

This assumes all audio filters can deal with len==0 passed in for
filtering (though I wouldn't see why not).

A filter can still signal an error by returning NULL.

af_lavrresample has to be fixed, since resampling 0 samples makes
libavresample fail and return a negative error code. (Even though it's
not documented to return an error code!)
ao: add ao_play_silence, use for ao_alsa and ao_oss

Also add a corresponding function to audio/format.c, which fills an
audio block with silence.