**Is your feature request related to a problem? Please describe.**
The clipboard module depends on the remote module on Linux.

**Describe the solution you'd like**
It should be implemented using dedicated IPCs that are properly validated to avoid security issues.

**Describe alternatives you've considered**
The app can call the clipboard APIs in the main process in response to app-level IPCs from the renderer.

**Additional context**
Follow-up from https://github.com/electron/electron/pull/13028

atom/common/api/atom_api_native_image.cc
}  
NativeImage::NativeImage(v8::Isolate* isolate, const gfx::Image& image)
    : image_(image) {
  Init(isolate);
  if (image_.HasRepresentation(gfx::Image::kImageRepSkia)) {
    isolate->AdjustAmountOfExternalAllocatedMemory(
        image_.ToImageSkia()->bitmap()->computeByteSize());
  }
}
#if defined(OS_WIN)
NativeImage::NativeImage(v8::Isolate* isolate, const base::FilePath& hicon_path)
    : hicon_path_(hicon_path) {
  
  gfx::ImageSkia image_skia;
  ReadImageSkiaFromICO(&image_skia, GetHICON(256));
  image_ = gfx::Image(image_skia);
  Init(isolate);
  if (image_.HasRepresentation(gfx::Image::kImageRepSkia)) {
    isolate->AdjustAmountOfExternalAllocatedMemory(
        image_.ToImageSkia()->bitmap()->computeByteSize());
  }
}
#endif
NativeImage::~NativeImage() {