dxva2: keep a reference to the d3d surface while its used by the decoder
dxva2: re-init decoder on get_format callbacks

This allows re-initing the decoder earlier in the callchain, and avoids
stability issues due to a late re-init.
dxva2: reference the decoder as long as the surfaces are alive.
Reset frame stride before allocating buffers.
dxva2cb: flush the display queue before creating a new decoder

This ensures the frames in the queue are not lost.