QUrl is imported from QtCore everywhere else... differences?
since it's receiving an url as string, 'fix' it first; fix_url checks if it's already QUrl and ignores
move 'navigate' to WebView; reduce WebView complexity