* Electron version: 1.4.12
* Operating system: OSX 10.11

If a BrowserWindow is created in full screen mode (fullScreen: true), but programmatically enters and exits kiosk mode (setKiosk(false)), I would expect the app to stay fullScreen at all times.  

This issue appears to be in **NativeWindowMac::SetKiosk(bool kiosk)**. It calls SetFullScreen(true) when entering kiosk and SetFullScreen(false) when leaving kiosk. It would be nice if a check was made to see if the window was already full screen and then just skip these calls. This would allow more graceful kiosking for full screen apps.  


atom/browser/native_window_mac.h
bool HasShadow() override;
  void SetRepresentedFilename(const std::string& filename) override;
  std::string GetRepresentedFilename() override;
  void SetDocumentEdited(bool edited) override;
  bool IsDocumentEdited() override;
  void SetIgnoreMouseEvents(bool ignore) override;
  void SetContentProtection(bool enable) override;
  void SetParentWindow(NativeWindow* parent) override;
  gfx::NativeWindow GetNativeWindow() override;
  gfx::AcceleratedWidget GetAcceleratedWidget() override;
  void SetProgressBar(double progress, const ProgressState state) override;
  void SetOverlayIcon(const gfx::Image& overlay,
                      const std::string& description) override;
  void SetVisibleOnAllWorkspaces(bool visible) override;
  bool IsVisibleOnAllWorkspaces() override;
  void SetAutoHideCursor(bool auto_hide) override;
  void SetVibrancy(const std::string& type) override;
  
  void OnInputEvent(const blink::WebInputEvent& event) override;
  
  void RenderViewHostChanged(content::RenderViewHost* old_host,
                             content::RenderViewHost* new_host) override;
  
  void UpdateDraggableRegionViews() {
    UpdateDraggableRegionViews(draggable_regions_);
  }
  
  void SetStyleMask(bool on, NSUInteger flag);
  void SetCollectionBehavior(bool on, NSUInteger flag);
  enum TitleBarStyle {