[ty] Compact use-def binding interner keys (#26193)
Store compact IDs in the use-def bindings reverse index instead of
cloning complete `Bindings` values as hash-map keys.
This reduces allocations by 4.7 MB on attrs, 8.1 MB on Flake8, and 12.5
MB on AnyIO with neutral timing. Walltime benchmarks improve by 1-2%.
The main downside is that this introduces a `HashTable` where changing
`Bindings` requires updating the manual hash function