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.

Change-Id: Idad22282b869b25bff3955f12c12b0ee942ef777
Add SilAboutBox and ShowReleaseNotesDialog to test app

Change-Id: Ib591f27415091cee09e3cce5a89cb2516e29aa82
Use cross-platform XWebBrowser instead of WinForms WebBrowser

Change-Id: I2e3f57c96fae5bcc528017b3d61e0adc31069ee1
Cherry-pick bugfixes from master to FlexBridgeBeta

e5305c9 Initial Ibus 1.5 keyboarding changes from Eberhard
cfc5a6f Get keyboard switching to work on Ubuntu/Saucy (ibus 1.5)
c725f2f Fix duplicate insertion of characters from ibus on saucy
eb3fce0 Call the proper keyboard setup program for saucy
7d354e7 Remove or tweak debugging output in IBus keyboard area
1d24db4 Minor keyboarding code cleanup after review
764939a Simplify creating the IBus.InputContext for keyboarding
c83e7f7 Implement CombinedKeyboardAdaptor.ActivateKeyboard()
Merge pull request #18 from marksvc/keyboardingfixes

Cherry-pick bugfixes from master to FlexBridgeBeta
Add GeckoFxWebBrowserAdapter

Change-Id: Ib129f45bc61338b0df1acc25c644c8dbc21b4cfc
Don't crash if there are no ibus keyboards installed (FWNX-1382)

If IBus is running but there are no ibus input methods listed in
the IBus Preferences we shouldn't try to set an ibus keyboard. This
might actually fix FWNX-1382.

Change-Id: I0e9fc9dc8344bc75aa281b7bb8994a2af9c958ee
Don't compile Linux/CombinedKeyboardAdaptor.cs content on Windows

Also remove prior debugging check for tests - not needed?
Merge pull request #23 from ermshiperete/feature/FWNX-1382

Don't crash if there are no ibus keyboards installed (FWNX-1382)
Restore check for null m_ibus for benefit of TeamCity

This must be what is causing the test failures on TeamCity even though
there's no way I can see for it to happen.
(cherry picked from commit 1a678717b4e51d824fd8c9c8490a1ece9fb33a2d)
Remove leftover debugging output that is no longer needed
(cherry picked from commit 69b06542d9fbf704fe1061e33989a2d6f4594f39)
Merge pull request #25 from marksvc/fixtests

Merge additional commits necessary to fix test failures on TC: Fixtests
Provide connection during test

An approach to fixing a recent unit test regression.
May not be as appropriate in a "DoNothingIbusCommunicator".
Merge pull request #27 from marksvc/fixkb

Provide connection during test
Revert "Provide connection during test"

This reverts commit 1d822f1c9869fb8a4d4b6fd5ea61e180799b2610.
Revert "Don't crash if there are no ibus keyboards installed (FWNX-1382)"

This reverts commit a09887cd11472eee6c48032fbd338fa223b527c7.
Don't crash if there are no ibus keyboards installed (FWNX-1382)

If IBus is running but there are no ibus input methods listed in
the IBus Preferences we shouldn't try to set an ibus keyboard. This
might actually fix FWNX-1382.

This is an improved version of the previous reverted commit.
The additional changes will hopefully allow the tests to pass on TC.

Change-Id: I51518666648e516399c1f8426785469aaa1b263c
Merge pull request #30 from ermshiperete/FWNX-1382

Don't crash if there are no ibus keyboards installed (FWNX-1382)
For an unlisted language, don't use qaa as the abbreviation

Default to the abbreviated pseudo-language code placed in the private
use area of the tag instead.
Link to development instructions