REF: move union_categoricals call outside of cython
There's no real perf bump to calling union_categoricals inside cython, better to do it in the python code where we can e.g. get the benefit of mypy.  Plus gets us closer to dependency structure goals.