Keyboarding: use same interface on Windows + Linux

Use IViewInputMgr on both Windows and Linux to allow C++ code to
access input methods/keyboards. On Linux we use a managed
implementation, on Windows we modified VwTextStore slightly
to implement this interface. Also some cleanup and refactorings.

Change-Id: I2b71e384b8b33c5457ead1e43c034784fb3ee8e5