Issue #2365469 by Fabianx: Factor out the Render Stack in its own service.

A lot of the complexity is within the recursiveness of the asset handling, which makes me nervous to release a stable version, yet.

Proposed resolution

- Factor out all rendering related services to a render stack
- Ensure there is OOP abstraction so that the render stack can be unit tested.
- Ensure that it might be possible to share code back to Drupal 8 - in parts

Remaining tasks

- Move all static recursiveness of the BaseController to RenderStack class
- Call the Stack in the container from RenderCache::isRecursive() and friends?
- Inject the RenderStack as a service in the controllers and use the injected service