This removes the need for manual struct definitions in the drivers, and allows us to load and use the function pointers loaded by winevulkan on instance / device creation.
This will also be useful in the future as we will want to have structures an function pointers for host-specific external memory, to export/import images for compositing and shared resources.
-- v3: winevulkan: Simplify struct generation ordering. winevulkan: Simplify function pointer generation. winevulkan: Generate structs and pointers for xlib platform. winevulkan: Generate structs and pointers for macos platform. winevulkan: Generate structs and pointers for wayland platform. winevulkan: Simplify VkDefine and typedefs generation. win32u: Pass struct vulkan_physical_device pointer to drivers.