shaders: refactor shader creation API
- I wanted to add new parameters, and rather than having the function signature grow out of control, I decided to switch to the same `params`-style as the rest of libplacebo, for future forwards compatibility. - We need to expose the identifier, because users of raw shaders might want to combine multiple shaders into the same GLSL program. This kills off the hacky `_ex` functions and uses a params struct. Also organizes some fields around, for reasons.
Showing with 88 additions and 86 deletions