REF: remove is_simple_frame from json code
cc @WillAyd the simple_frame path is kludgy, I expect fragile to non-numpy blocks.  This just rips it out to simplify the code.
Any perf impact? ```
import numpy as np
import pandas as pd

arr = np.random.randn(10**4, 10)
df = pd.DataFrame(arr)

In [4]: %timeit df.to_json()
12.8 ms ± 1.72 ms per loop (mean ± std. dev. of 7 runs, 100 loops each)  # <- main
12.4 ms ± 448 µs per loop (mean ± std. dev. of 7 runs, 100 loops each)  # <- PR

In [5]: %timeit df.T.to_json()
12 ms ± 413 µs per loop (mean ± std. dev. of 7 runs, 100 loops each)  # <- main
19.2 ms ± 309 µs per loop (mean ± std. dev. of 7 runs, 10 loops each)  # <- PR
```

So for very-wide cases this takes a hit, but indistinguishable for normal cases. I think that is fine. Not worth optimizing to_json for very wide frames at the ms level Thanks @jbrockmendel 