PERF: float hash slow in py3
closes #13166, closes #13335

Using exactly the approach suggested by @ruoyu0088

significant changes in asv below

```
     before     after       ratio
-     8.88s    78.12ms      0.01  indexing.float_loc.time_float_loc
-    13.11s    78.12ms      0.01  groupby.groupby_float32.time_groupby_sum
```

Factor of 10 smaller benches

```
     before     after       ratio
-  171.88ms    43.29ms      0.25  indexing.float_loc.time_float_loc
-     1.42s    11.23ms      0.01  groupby.groupby_float32.time_groupby_sum
```
