Support the Text services framework based IME for Chrome AURA on Windows 8 and above
and enable it by default for Chrome AURA.

This change should not affect non AURA Chrome.

The changes in this CL are mostly around setting the focused TextInputClient in the
TSFBridgeDelegate class and not handling the traditional IME messages apart from
WM_IME_SETCONTEXT in the input method win subclass. 

I also made a change in the TSFBridge class to ensure that Initialize can be called
multiple times.

ASH support will come in a subsequent change. Needs some more research there.

Known issues:-
1. Clicking on the omnibox in Chrome AURA switches the current language setting back to ENG regardless
   of the last active language. We have to switch back to the desired lang each time on the omnibox. This works fine
   on the web page though. yukawa? do you have any ideas as to why?
2. Chinese IME's when used on the web page in Chrome AURA display the composition window
   at the top left corner of the desktop. This works correctly on the omnibox. yukawa? perhaps you may know.

The views_test_base.h/.cc changes are needed for views unittests to pass
The desktop_notifications_unittest.cc/.h and view_event_test_base.cc/.h changes are needed for interactive_ui_tests to
pass.
The ash_test_base.cc/.h changes are needed for ash_unittests to pass.

BUG=225189
TBR=nona

Review URL: https://codereview.chromium.org/13235003

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@194205 0039d316-1c4b-4281-b951-d872f2087c98
15 files changed