CLN: Use new hashtables in libindex to avoid casting
Small, hard-to-measure perf improvement, since it only makes a difference on the first lookup:

```
In [2]: rng = pd.Index(range(50)).repeat(20).astype("category")
In [14]: %timeit rng._engine.clear_mapping(); rng.get_loc(40)
24.8 µs ± 624 ns per loop (mean ± std. dev. of 7 runs, 10000 loops each)  # <-- master
21.3 µs ± 296 ns per loop (mean ± std. dev. of 7 runs, 10000 loops each)  # <-- PR

```