Port to atom-shell

I started porting this to atom-shell just for fun. It is working with atom-shell >= 0.13.2 but atom-shell currently dosen't support @2x images used as a menuicon, so the icon will look fussy on a retina display.


atom-shell will close the tray menu if it is refreshed while open. So I had to prevent it by making sure I only update it once.