global: eliminate `priv` indirections
This has some advantages:
- one fewer pointer to dereference per object
- leaks fewer internal implementation details
And some drawbacks:
- can no longer
peek insidepl_pass_params.target_dummy, but this was not really useful anyways -
dummy.cgot slightly uglier -
pl_fmt.privcan no longer directly point at the underlying fmt - can no longer use
privstructs as talloc contexts (but this shouldn't be done anyway, withvkbeing the exception)
In addition to eliminating priv, I also decided to eliminate the
pl_gpu_fns indirection. pl_gpus are now directly "cast down" to
pl_gpu_fns by the gpu.c helpers.