REF: avoid DTA/PA methods in SemiMonthOffset.apply_index
I think this gets the last implicit-external-dependencies in tslibs.

```
In [2]: dti = pd.date_range("2016-01-01", periods=10000, freq="S")              
In [3]: off = pd.offsets.SemiMonthEnd(-2)                                       
In [4]: %timeit dti + off                                                       
3.08 ms ± 108 µs per loop (mean ± std. dev. of 7 runs, 100 loops each)  # <-- master
486 µs ± 7.16 µs per loop (mean ± std. dev. of 7 runs, 1000 loops each)  # <-- PR
```