Experimental Extension Keybinding (first cut).

Implemented in this cut:

- End-to-end extension keybinding -- in one dimension, that is -- no UI, just basic functionality, such as:
  - Manifest changes to specify keybinding.
  - A simple parser to parse the keybinding from the manifest.
  - An Extension Keybinding Registry object.
  - The ability to open browser action popups, page action popups and send named events to the Extension.

Not implemented:

- All non-Windows specific code.
- Install-success-bubble UI changes (that notify the user of new keybinding -- or of keybinding conflict)
- A UI to show all keybindings and keybinding conflicts, allowing user to reconfigure keybindings.

BUG=27702
TEST=This is tested by an automated test and requires an extension to test manually (one that registers keybinding shortcuts).
Review URL: https://chromiumcodereview.appspot.com/9402018

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