Introduce composition to the renderer

This is probably not a finished pull request but a point of discussion. Since the renderers do not all implement necessary Capabilities they are in fact creating false positives by not failing when these (missing) capabilities are used.
For Emscripten, I introduced composition to the renderers.