* Electron version: latest
* Operating system: MacOS

The TouchBar API (and MacOS in general) let's you pass an `imageNamed` param to NSImage to get the default OS image. For example: `[NSImage imageNamed:@"NSTouchBarGoUpTemplate"];` creates an NSImage with the default up chevron icon on MacOS. 

It would be pretty neat-o to allow TouchBar users to do something like this: 

```javascript
new TouchBarButton({
  icon: nativeImage.createFromMacOSNamedImage('NSTouchBarGoUpTemplate')
})
```

...and maybe that would just no-op with `nativeImage.createEmpty()` on non-MacOS platforms. 

I guess this is really bigger than just TouchBar because this API could benefit `Menu` for example as well, or anywhere else where you use `nativeImage`. 


atom/common/api/atom_api_native_image.cc
float scale_factor = GetScaleFactorFromOptions(args);
  if (scale_factor == 1.0f) {
    
    scoped_refptr<base::RefCountedMemory> png = image_.As1xPNGBytes();
    if (png->size() > 0)
      return webui::GetPngDataUrl(png->front(), png->size());
  }
  return webui::GetBitmapDataUrl(
      image_.AsImageSkia().GetRepresentation(scale_factor).sk_bitmap());
}
v8::Local<v8::Value> NativeImage::GetBitmap(mate::Arguments* args) {
  float scale_factor = GetScaleFactorFromOptions(args);
  const SkBitmap bitmap =
      image_.AsImageSkia().GetRepresentation(scale_factor).sk_bitmap();
  SkPixelRef* ref = bitmap.pixelRef();
  if (!ref)
    return node::Buffer::New(args->isolate(), 0).ToLocalChecked();
  return node::Buffer::New(args->isolate(),
                           reinterpret_cast<char*>(ref->pixels()),
                           bitmap.getSafeSize(),
                           &Noop,
                           nullptr).ToLocalChecked();
}
v8::Local<v8::Value> NativeImage::GetNativeHandle(v8::Isolate* isolate,