nir/opt_varyings: don't generate IO with unsupported bit sizes, simplify nir_io_semantics::num_slots
Backward inter-shader code motion turns ALU results into outputs, which led to getting IO with unsupported bit sizes. This prevents that.
There is a new NIR option flag that indicates 16-bit support.