nir/opt_vectorize | nir/lower_alu_to_scalar: add callback for max vectorization width
The callback allows to request different vectorization factors per instruction depending on e.g. bitwidth or opcode.
The callback can be used for nir_opt_vectorize as well as nir_lower_alu_to_scalar. For nir_lower_alu_to_scalar, his allows to only scalarize instructions down to a desired vectorization width. In general, this approach yields overall more vectorized instructions, but !12468 (merged) is needed to avoid some regressions coming from unused components not being eliminated.