PERF: halve render time in Styler with itertuples
```
 before           after         ratio
     [dfb92d0f]       [e5c2790b]
     <master>         <perf_itertups>
-         149±1ms         74.4±2ms     0.50  io.style.RenderApply.time_render(24, 120)
-        31.9±1ms       15.9±0.8ms     0.50  io.style.RenderApply.time_render(24, 12)
-       86.3±20ms         42.3±1ms     0.49  io.style.RenderApply.time_render(12, 120)
-      12.2±0.2ms       5.93±0.2ms     0.49  io.style.RenderApply.time_render(12, 12)
-      44.8±0.5ms       21.7±0.3ms     0.48  io.style.RenderApply.time_render(36, 12)
-         227±2ms         99.9±1ms     0.44  io.style.RenderApply.time_render(36, 120)

SOME BENCHMARKS HAVE CHANGED SIGNIFICANTLY.
PERFORMANCE INCREASED.
```

FYI `Styler` now faster than `to_html`, even without any function stripping...

```
df = pd.DataFrame(np.random.rand(10000,10))
%timeit df.to_html()
1.9 s ± 63.4 ms per loop (mean ± std. dev. of 7 runs, 1 loop each)
%timeit df.style.render()
1.71 s ± 14.2 ms per loop (mean ± std. dev. of 7 runs, 1 loop each)
```
great. Can you add a whatsnew note (IIRC you may already have one about perf rendering, if so just add this on). ping on greenish. @jreback ping greenish. `test_from_coo` failure is unrelated. thanks @attack68 