FWNX-1131, make keyboard control handle KnownKeyboards etc.

This change extensively alters the WsKeyboardControl and related
classes. The main combo is replaced by a text box and list box,
which allows us to have varied formatting in the list, including
headings and disabled items. Headings are used to break up the
writing systems into previously used ones for this WS and others.
This means the list content is no longer independent of WS, which
leads to other changes. The results are saved in LocalKeyboard
rather than the obsolete Keyboard property. The Keyman-specific
engines are removed. Some other changes allow the test app to persist
the LocalKeyboardSettings.

This is a preliminary checkin, there are still several known
issues.

Change-Id: I0a3b01233accb9342ff1eefc8398d3c183d5d9e5