In 1.4.5, Electron added a new API (`previewFile`) that allows you to open a quicklook preview panel. However, there isn't an API for closing the preview panel that is opened.

QLPreviewPanel is a subclass of NSWindow - using Mac OS X APIs, it's pretty easy to close the shared Quicklook preview panel.

We need this functionality because the panel does not close automatically when the window is blurred, or when another window is opened in the application (https://github.com/nylas/N1/issues/3021). Other user action, such as moving focus to a message that doesn't have quicklook attachments should also probably close the panel.

I'm not sure what a good name for this API would be. Maybe `dismissFilePreview` or `unpreviewFile`? 
atom/browser/native_window.h
observers_.AddObserver(obs);
  }
  void RemoveObserver(NativeWindowObserver* obs) {
    observers_.RemoveObserver(obs);
  }
  brightray::InspectableWebContents* inspectable_web_contents() const {
    return inspectable_web_contents_;
  }
  bool has_frame() const { return has_frame_; }
  void set_has_frame(bool has_frame) { has_frame_ = has_frame; }
  bool transparent() const { return transparent_; }
  SkRegion* draggable_region() const { return draggable_region_.get(); }
  bool enable_larger_than_screen() const { return enable_larger_than_screen_; }
  NativeWindow* parent() const { return parent_; }
  bool is_modal() const { return is_modal_; }
 protected:
  NativeWindow(brightray::InspectableWebContents* inspectable_web_contents,
               const mate::Dictionary& options,
               NativeWindow* parent);
  
  
  std::unique_ptr<SkRegion> DraggableRegionsToSkRegion(
      const std::vector<DraggableRegion>& regions);
  
  virtual gfx::Rect ContentBoundsToWindowBounds(const gfx::Rect& bounds) = 0;
  virtual gfx::Rect WindowBoundsToContentBounds(const gfx::Rect& bounds) = 0;
  
  virtual void UpdateDraggableRegions(
      const std::vector<DraggableRegion>& regions);