Setting document settings with cocoa NSNumber results in {}
I have some NSNumber and NSString values that need to be stored in the document settings. Attempting to pass these values to `setDocumentSettingsForKey()` results in empty objects `{}` being stored. Presumably because JSON.stringify simply sees them as "objects". Calling the same method with literal values in JS works as expected.

It seems that wrapping NSNumbers in a Number constructor works fine:
```
let number = Number(anNSNumber)
settings.setDocumentSettingForKey(doc, key, number)
```

I haven't been able to figure out a similar workaround for NSString yet. It's understandable to want to push plugin development toward full JS but this seems like something that would be handled within the API as it can result in unexpected bugs that are hard to understand.

Also, in my current use case I'm trying to store an object with nested values so casting the numbers would require a deep traverse of the object. Again, something that seems could be handled within the API as a custom version of JSON.stringify. I'm not sure yet where else data may be stringified in the API but I assume it would always produce the same unexpected result.