PERF: operate on arrays instead of Series in DataFrame/DataFrame ops
xref https://github.com/pandas-dev/pandas/pull/32779
While you're doing this, want to get the other `.iloc[:, i]` cases within `dispatch_to_series`? Yes, will do. 

(note, I would also be fine with you including this in #33561, *if* we decide to have a switch between column/blockwise. But it's mainly because you seemed quite hesitant to include something like this, that I thought to do this PR separately)  can you point to some asv's that change with this? (nice cleanup anyhow) > can you point to some asv's that change with this? (nice cleanup anyhow)

There is already a `MixedFrameWithSeriesAxis` benchmark that captures this partly:

Running that benchmark specifically, on master:

```
[100.00%] ··· arithmetic.MixedFrameWithSeriesAxis.time_frame_op_with_series_axis1                                                                                                                                ok
[100.00%] ··· ========== ==========
                opname             
              ---------- ----------
                  eq      194±4ms  
                  ne      191±3ms  
                  lt      189±3ms  
                  le      190±4ms  
                  ge      209±50ms 
                  gt      225±20ms 
                 add      4.31±1ms 
                 sub      4.68±1ms 
               truediv    4.64±1ms 
               floordiv   54.8±2ms 
                 mul      4.73±1ms 
                 pow      15.4±2ms 
              ========== ==========
```

and with this branch:

```
[100.00%] ··· arithmetic.MixedFrameWithSeriesAxis.time_frame_op_with_series_axis1                                                                                                                                ok
[100.00%] ··· ========== ============
                opname               
              ---------- ------------
                  eq       68.5±9ms  
                  ne       70.3±9ms  
                  lt       62.7±6ms  
                  le      68.1±10ms  
                  ge       70.5±8ms  
                  gt       70.7±9ms  
                 add       4.44±1ms  
                 sub       5.52±1ms  
               truediv    5.45±0.8ms 
               floordiv    60.7±3ms  
                 mul       4.42±1ms  
                 pow       15.1±4ms  
              ========== ============
```

The comparison ops take the code path I changed here, and those show a consistent speed-up (the arithmetic ones actually take a different code path)