vk/cmd_queue: free memory of pNext entries, copy whole chains & handle structs in array
What does this MR do and why?
This improves the code generator to fix some memory leaks and handle more complex command parameters:
- Free the memory allocated while copying pNext entries while enqueuing commands.
- Copy all entries of a pNext chain, not only the first.
- Copy also structs in arrays in structs (recursively).
- Add handling of data structures from video.xml.
pNext chains and structures in arrays are often used in Vulkan Video Extension command parameters.