vaapi: longer va objects life time. direct rendering no crash

previous code will crash if
1. direct rendering and decoder destroyed. va surface id may be still
in video frame but va resources are released
2. direct rendering is mapping a va surface but at the same time
surface is changed by decoder. new code can ensure surface id change
thread safe
know issues:
1. may crash at vaGetDisplayXXX when replay
2. use QList to store surfaces_ptr may erase an invalid iterator
va: remove surface interop function in video frame. use metadata instead
Merge pull request #263 from wang-bin/va

vaapi