REF: get rid of register_dtype
AFAICT the only reason we need register_dtype is so that we can have a list of extent EA Dtypes to iterate over when doing is_extension_array_dtype.  Is that inaccurate?

If so, let's just use `ExtensionDtype.__subclasses__()` and avoid some globals and decorators.