Faster tile hashing - 40-100% performance improvement

Before:

```
scan road - z6 - z6 x 67,994 ops/sec ±1.84% (23 runs sampled)
scan road - z8 - z8 x 62,734 ops/sec ±1.20% (21 runs sampled)
scan road - z10 - z10 x 61,523 ops/sec ±1.90% (22 runs sampled)
scan road - z12 - z12 x 62,368 ops/sec ±3.32% (22 runs sampled)
scan road - z18 - z18 x 19,394 ops/sec ±1.64% (22 runs sampled)
scan building - z6 - z6 x 24,217 ops/sec ±1.39% (23 runs sampled)
scan building - z8 - z8 x 24,000 ops/sec ±1.61% (23 runs sampled)
scan building - z10 - z10 x 22,763 ops/sec ±2.46% (21 runs sampled)
scan building - z12 - z12 x 22,997 ops/sec ±2.15% (21 runs sampled)
scan building - z18 - z18 x 17,404 ops/sec ±1.22% (22 runs sampled)
scan russia - z6 - z6 x 808 ops/sec ±4.43% (21 runs sampled)
scan russia - z8 - z8 x 155 ops/sec ±1.69% (20 runs sampled)
scan russia - z10 - z10 x 9.91 ops/sec ±7.60% (10 runs sampled)
```

After:

```
scan point - z6 - z6 x 6,805,154 ops/sec ±1.66% (21 runs sampled)
scan road - z6 - z6 x 144,069 ops/sec ±1.65% (22 runs sampled)
scan road - z8 - z8 x 144,994 ops/sec ±1.95% (22 runs sampled)
scan road - z10 - z10 x 144,785 ops/sec ±1.93% (23 runs sampled)
scan road - z12 - z12 x 143,322 ops/sec ±1.44% (22 runs sampled)
scan road - z18 - z18 x 27,782 ops/sec ±1.24% (22 runs sampled)
scan building - z6 - z6 x 50,370 ops/sec ±2.04% (21 runs sampled)
scan building - z8 - z8 x 50,961 ops/sec ±1.79% (22 runs sampled)
scan building - z10 - z10 x 50,951 ops/sec ±1.18% (23 runs sampled)
scan building - z12 - z12 x 49,689 ops/sec ±1.86% (21 runs sampled)
scan building - z18 - z18 x 26,614 ops/sec ±5.85% (21 runs sampled)
scan russia - z6 - z6 x 1,280 ops/sec ±1.93% (22 runs sampled)
scan russia - z8 - z8 x 200 ops/sec ±4.97% (21 runs sampled)
scan russia - z10 - z10 x 17.02 ops/sec ±5.43% (13 runs sampled)
```