Vendor Microsoft C/C++ dlls
mac: Implement global keyboard shortcut API.
win: Implement global keyboard shortcut API.
linux: Implement global keyboard shortcut API.
Emit failed message when fail to register shortcut.
:memo: Shortcut API document.
Nits: Fix code style.
mac: Guard against closed window, fixes #536.
fix node to build with target_arch=x64 on linux

atom-shell on linux is incorrectly reporting `ia32` for `process.arch`.

This is happening because `-Dtarget_arch=ia32` is passed to ninja on linux inside `script/update.py` which leads to '-DARCH="ia32"' being set in the compile flags. I see that the current intention is to target 64 bit builds on linux (37275c64cd07) and the binaries are in fact compiled as 64 bit despite this bug.  I guess ninja is somehow smartly ignoring the incorrect setting of the `-m32` flags at https://github.com/atom/node/blob/6d772c3cda0bb8270857397e128ea1e36c361125/common.gypi#L175-L178.

Until this is fixed it breaks usage of any node-pre-gyp packaged node addons because node-pre-gyp depends on process.arch being correct in order to require the right binary arch.
Merge pull request #530 from atom/ks-vendor-dlls

Vendor Microsoft C/C++ dlls
linux: Only use global application menubar on unity.

Fixes atom/atom#3114.
Ship VS2012 redist DLLs.

Atom Shell has been built with VS2013 so we should not ship VS2010's DLLs.
Add content-tracing module.
Add options defines.
Add docs on content-tracing module.
Fix typo.
Merge pull request #538 from atom/tracing-module

Add content-tracing module
Add spec for #492.
Don't mess up with browser process's execArgv, fixes #492.
mac: Emit focus/blur events after page has actually focus/blur-ed.

Otherwise the page would receive the blur event when it has not blured
yet.

Fixes atom/atom#3124.