By only draining up to a single frame per
dav1d_send_data() call, up
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.