BLD/PERF: bump cython to 0.29.19 for searchsorted
cython 0.29.19 fixed a bug that now allows us to use `cnp.PyArray_SearchSorted` to make `ndarray.searchsorted` into a C call.  As a demonstration, this PR makes that change in `normalize_i8_timestamps` and shaves about 12% off of it for the scalar case (the non-scalar case is not noticeably affected)

```
In [4]: ts2 = pd.Timestamp.now("US/Pacific")                                    
In [5]: %timeit ts2.normalize()                                                 
59.3 µs ± 197 ns per loop (mean ± std. dev. of 7 runs, 10000 loops each)   # <-- master
51.8 µs ± 362 ns per loop (mean ± std. dev. of 7 runs, 10000 loops each)   # <-- PR
```

Not a particularly big deal on its own, _but_ this makes viable passing `int64_t*` instead of `int64_t[:]`, which in turn makes it so we can skip a wrapping/unwrapping step in the scalar code _and_ ideally share code between Timestamp/DatetimeArray, Period/PeriodArray, Timedelta/TimedeltaArray.