Js in browser feature update

@Viktor, updated based on your feedback:
1, Move code out of app delegate, there are still some code added to app delegate, like the IBOutlet for menuItem, please help advice whether this is appropriate. 
2, Open the browser only when publish is finished.
3, The Cmd-Shift-R shortcut move to browser selection last used (this could be saved in NSUserDefaults)
4, Browsers that are not installed are grayed out. 

The last item you mention is force reload browser after user change to a new browser, I didn't find options to start these browsers with reload cache, only we can specify privacy mode or incognito mode, what do you think?