API: ensure IntervalIndex.left/right are 64bit if numeric
Extracted part for #49560, slightly altered.

`IntervalIndex` depends on `IntervalTree` which only accepts 64-bit int/uint/floats. This ensures that numpy numeric arrays in `IntervalTree` will always be 64-bit.

A question is if we should have non-64bit `IntervalTree`s. I've considered that that is maybe a different question than #49650, and  I could write an issue about it and someone could take it in a follow-up, possibly before 2.0?

This PR changes nothing  functionality-wise, but is needed when `Index` can have non-64bit indexes after #49650.
> Is there a use-case for non 64-bit arrays?

Not for me personally, it was more of a question I had when I wrote the code, and we now will support non-64-bit indexes. IMO this can come later, if someone sees a need for it.  Sounds good to me. What we have to keep in mind a bit: If we compile IntervalTree for all possible dtypes, this will further increase the size of pandas for end users. So as long as there is no use case, I would keep as is. But open to revisit if there is a situation where this would be helpful Yeah, I agree.

I’ve updated the PR. Thx @topper-123 