nir/range_analysis: Handle vectors better in ssa_def_bits_used
If a query is made of a vector ssa_def (possibly from an intermediate result), return all_bits. If a constant source is a vector, swizzle the correct component.
Unit tests were added for the constant vector cases. I don't see a great way to make unit tests for the other cases.
Fixes: 96303a59 ("nir: Add some range analysis for used bits")