dav1d: Don't always immediately drain all pending frames
By only draining up to a single frame per dav1d_send_data()
call, up
to max_frame_delay
frames are queued up in the decoder and decoded in
parallel. Previously the code would always drain all frames immediately,
which made frame threading not very useful.
In addition this also works around a deadlock in dav1d on certain streams.