Add support for printing from javascript
This implements printing in response to javascript calls to window.print().
When the print request comes from the main frame, the behavior is the same as the "Print preview" menu entry. When it comes from a frame, instead, a PDF version of the frame is saved to a temporary file which is then opened using BrowserExtension::browserOpenUrlRequest(). The different behavior is due to the fact that QWebEngineFrame doesn't provide support for setting the page layout, so there's no point in using the preview dialog.
The frame printing functionality is only enabled if using at least Qt 6.8.