* Electron version: 1.6.3
* Operating system: macOS 10.12.3 (Sierra)

### Expected behavior

`clipboard.read("com.adobe.pdf", "binary")` should return data as a `Buffer` or `String` with `binary` encoding if given clipboard data type is present.

### Actual behavior

Data is returned as `String`. When save to as a file using 'binary' encoding, file length is shorter than actual clipboard data size (verified using ClipboardViewer).

### How to reproduce

Use Sketch.app to draw a circle vector. Copy the circle into clipboard. One of the data types added to clipboard will be of type "com.adobe.pdf". Switch to test electron app that calls `clipboard.read`.
Now save the string to a file using `binary` encoding. Resulting PDF file can't be viewed as PDF and PDF validation will fail.

**UPDATE:** Other vector editing apps like Illustrator or Affinity Designer should also create `com.adobe.pdf" as well as Apple PDF Pasteboard type since this is how vector copy-paste works across editors.

**UPDATE2:** Just found a closed issue mentioning this may be due to Chromium returning only string. If this is true perhaps platform clipboard should be accessed directly instead of relying on Chromium.
atom/common/api/atom_api_clipboard.cc
ui::ScopedClipboardWriter writer(GetClipboardType(args));
  writer.WriteRTF(text);
}
base::string16 Clipboard::ReadHtml(mate::Arguments* args) {
  base::string16 data;
  base::string16 html;
  std::string url;
  uint32_t start;
  uint32_t end;
  ui::Clipboard* clipboard = ui::Clipboard::GetForCurrentThread();
  clipboard->ReadHTML(GetClipboardType(args), &html, &url, &start, &end);
  data = html.substr(start, end - start);
  return data;
}
void Clipboard::WriteHtml(const base::string16& html, mate::Arguments* args) {
  ui::ScopedClipboardWriter writer(GetClipboardType(args));
  writer.WriteHTML(html, std::string());
}
v8::Local<v8::Value> Clipboard::ReadBookmark(mate::Arguments* args) {
  base::string16 title;
  std::string url;
  mate::Dictionary dict = mate::Dictionary::CreateEmpty(args->isolate());
  ui::Clipboard* clipboard = ui::Clipboard::GetForCurrentThread();
  clipboard->ReadBookmark(&title, &url);
  dict.Set("title", title);
  dict.Set("url", url);
  return dict.GetHandle();
}
void Clipboard::WriteBookmark(const base::string16& title,