PERF: avoid creating many Series in apply_standard
- [ ] closes #xxxx
- [ ] tests added / passed
- [ ] passes `black pandas`
- [ ] passes `git diff upstream/master -u -- "*.py" | flake8 --diff`
- [ ] whatsnew entry

This avoids going through perennial-problem-causing libreduction code (xref #34014, #34080) and instead does the same trick in python-space by re-assigning block.values instead of creating new Series objects.

If we avoid libreduction but _dont_ do this optimization, the most-affected asv is `time_apply_ref_by_name` that clocks in at 6.92x slower.  This achieves parity on that asv.

<s>ATM I'm still getting 4 test failures locally, need to troubleshoot.</s> Update: passing


does this fix #34506 ? > does this fix #34506 ?

The example from the OP there was fixed by #34913, but i still need to double-check the general case and add a test. The groupby.ops analogue of this is continuing to be a PITA, so im exploring other avenues there (xred #34982).  This should be good to go though, and as a follow-up we can rip out libreduction.Reducer. thanks, yeah incremental refactors are good.  This commit caused some regressions, eg https://pandas.pydata.org/speed/pandas/#frame_methods.Apply.time_apply_np_mean,
https://pandas.pydata.org/speed/pandas/#frame_methods.Apply.time_apply_ref_by_name?x-axis-scale=date

Was that expected? (above you mention "achieves parity on that asv.") Ah, I suppose this is just fixed by https://github.com/pandas-dev/pandas/pull/35166