[#33770] bug fix to prevent ExtensionArrays from crashing Series.__repr__()
- [X] closes #33770
- [X] tests added / passed
- [X] passes `black pandas`
- [X] passes `git diff upstream/master -u -- "*.py" | flake8 --diff`
- [X] whatsnew entry

This pull request fixes a bug in `GenericArrayFormatter` that caused a crash when rendering arrays of arrays. This problem causes `Series.__repr__()` to fail with certain extension types; see #33770 for more information.

The root cause is this line:
``` python
1231       is_float_type = lib.map_infer(vals, is_float) & notna(vals)
```
The call to `notna()` here returns a 2D array if `vals` is a 2D array, while `lib.map_infer(vals, is_float)` returns a 1D array if `vals` is a 2D array.

In addition to fixing that line, this PR also adds tests for the issue.
Thanks for the prompt review!  I've pushed some updates to this branch which should hopefully address the review comments. lgtm. running CI now. merge on green.