PERF: postpone imports in Index constructor
xref https://github.com/pandas-dev/pandas/issues/30790, it's for improving this one mentioned in that issue:

```
arr_str = np.array(["foo", "bar", "baz"], dtype=object)
%timeit pd.Index(arr_str)
```

Only importing the index classes when we actually need them gives a 15-20% speedup.

Last week when profiling the Index constructor, I noticed that those imports actually take quite a bit of time (and it's a change that was introduced after 0.25, https://github.com/pandas-dev/pandas/pull/28141). I didn't get any further with profiling (this alone doesn't explain the full slowdown), but thought it's an easy one to already do anyway.
cc @simonjayhawkins  `%timeit` already runs it several times, so that should be OK (but also repeating that multiple times confirms it) 
I have to say I was also surprised, I would have thought this to be cheaper, but apparently getting those from the import cache also takes time ..

 LGTM

> but apparently getting those from the import cache also takes time ..

This is surprising and a good catch.  I'd be curious whether there's any perf difference between

```
from pandas.core.indexes.numeric import Float64Index
from .numeric import Float64Index
from pandas import Float64Index
```