the buffers don't come in output order so fix the decoder to handle this
add new gst_vdp_video_buffer_add_reference method to GstVdpVideoBuffer to be able to keep
buffers alive. Ie. a B_FRAME need to have both the forward reference and the backward
reference alive during it's lifetime.
add mutex to protect for threadsafety issues when we reset the decoder in FLUSH_STOP