texture.c lengthiness and intermixing Vulkan and OpenGL specific code causes unnecessary complexity overhead.
These changes split Vulkan and Opengl specific code into `texture_vk.c` and `texture_gl.c` leaving `texture.c` with only generic code shared between the rendering backends.
Thus the bulk of the changes are just rearrangement of existing code with the intent to keep the logic as original as possible.
Therefore the only significant difference other than the rearrangement is the declaration of some generic functions in `dlls/wined3d/wined3d_private.h` which dropped the `static` specifier so that the may be defined in `texture.c`.
Dropping the `static` was favored over adding `static inline` function definitions to `dlls/wined3d/wined3d_private.h` (like other functions defined there) to avoid bloating the header file even more.
If those function declarations are better defined as `static inline` like the others then I'll make those changes despite the added bloat.
This effort spawned after encountering excessive complexity while trying to fix Direct3D texture sharing discrepancies. Splitting the files allows devs to ignore large chunks of irrelevant code similar to other parts that already split rendering backends specific code into separate files.
-- v5: wined3d: texture.c split vulkan and opengl for cleaner clarity