Implement cross-platform browser wrapper

The XWebBrowser control can be used instead of a WinForms WebBrowser control and underneath uses either a WebBrowser control or GeckoFxWebBrowser control.