[WIP] Use kernel.request event to output from cache

Moved the outputFromCache routine to the kernel event because it is not related to a frontend page request. If the cache is available, we ship it (without checking the page etc.).

TODO:
- [ ] Rewrite `Input` to current request
- [ ] Rewrite `Environment` to current request
- [ ] Require `Contao\Config` from DIC
- [ ] According to my IDE, `Controller::replaceInsertTags` is not static

Up for discussion @contao/developers