Modify Extensions::renderWidgetHolder method to render the widget data inside the placeholder and the additional html after it, but still inside the section tag.

So we can make widget areas in templates by calling them with the twig widget function, like: {{ widget( 'frontend', 'top_left' ) }}
We can define an extension's output to widget area like: $this->addWidget( 'frontend', 'top_left', 'widget', $additionalhtml, 3600 );