Implement linux part of global command, including linux_aura and gtk+.

Xlib API: XGrabKey/XUngrabKey are used in the stuff, but there is a subtle
difference between them. In gtk+, a event filter is added to the X root window
to intercept KeyPress event, but in linux_aura, a dispatcher is added to the
UI message loop.

Also note that because XGrabKey only works on the exact modifiers mask, we
should register our hot keys with modifiers that we want to ignore, including
Num lock, Caps lock, Scroll lock.

BUG=302437

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@228698 0039d316-1c4b-4281-b951-d872f2087c98
SVN changes up to revision 228698
Fix keyboard chording with finger movement


BUG=306616
TEST=
1. enable virtual keyboard on ChromeOS
2. press shift key and then press another normal key(text key)
3. intentially moves the finger on shift key slightly

Expected: we should still in chording mode

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@228700 0039d316-1c4b-4281-b951-d872f2087c98
SVN changes up to revision 228700