PERF: Block.apply
```
from asv_bench.benchmarks.groupby import *
self = GroupByMethods()
self.setup('object', 'ffill', 'direct', 1)

%timeit self.time_dtype_as_group('object', 'ffill', 'direct', 1)
67.6 µs ± 708 ns per loop (mean ± std. dev. of 7 runs, 10000 loops each)  # <- PR
82 µs ± 2.24 µs per loop (mean ± std. dev. of 7 runs, 10000 loops each)  # <- master
```