API: integer Extension Array
xref #8640

Could easily imagine an ``ExtensionArray`` which uses as an implementation a numpy array of the appropriate dtype and a bitmask in order to fully support Integer NA across the board. I don't think this would be too hard. As a bonus, would be zero-copy compat with pyarrow impl (for the future)

- [ ] Integer (#21160) 
- [ ] UnsignedInteger (#21160) 
- [ ] ~Boolean~ (#21778)

making these the actual default (e.g. when integers are inferred with or w/o nulls) might be non-trivial, but let's implement first. These would give rise to a hierarchy of dtypes, e.g. ``IntegerDtype``, ``Int8Dtype``