ad_libav: flush decoder output after last input packet

Some versions of libav APE audio decoder can consume a packet and
return data on subsequent calls. This could lead to audio being cut at
end of file as mplayer2 stopped decoding as soon as input as
exhausted. Keep calling libavcodec audio decoder until it returns no
more output.
audio: add af_lavrresample, remove old resampling filters

Remove `af_resample` and `af_lavcresample`. The former is a mess while
the latter uses an API that was long deprecated in libavcodec and is
now removed. Add new filter af_lavrresample which uses libavresample.
`af_lavrresample` has roughly the same features and structure as
`af_lavcresample` had.

Libavresample is now a mandatory dependency. Change configure script
accordingly and remove #ifdefs in other code.
vf_ass: improve color conversion
csputils: add mp_get_rgb2yuv_coeffs for inverse matrix calculation
subs, libass: support the YCbCr Matrix ASS header

Also switch vf_ass to using mp_get_rgb2yuv_coeffs.
csputils: correct full-range YUV limits

Full-range YUV is 0 to 2^d - 1, not (1 to 255) * 2^(d-8).
vf_ass: use vf_mpi_clear
vf_ass: add high-bit-depth format support
vf_ass: use floating-point arithmetic

The existing integer arithmetic is biased towards infinity,
and floating-point operations are cheap nowadays.
vf_ass: use random dithering

Fixes https://github.com/libass/libass/issues/9#issuecomment-38371039.