Implement global shortcut API, fixes #439

@zcbenz, please take a look! 
And thanks for @orzFly on windows platform implementation.
Using `shortcut` as module name is too general in my opinion, `global-shortcut` would make a more suitable name, class names below should also be renamed from `Shortcut` to `GlobalShortcut` too.