Add ScriptableObjectId.
Use ScriptableObjectId instead of ObjectId in JavaScript.

ObjectId will only be used internally.
Make ScriptableDocument return ScriptableObjectId instead of objectId string.
ScriptableCollection.insert method can take an object id.

When passing a JavaScript object that has an object id field, the given object
id will be used as the object id. If the objectId field is null,
ScriptableCollection generates ObjectId.
Apply ObjectId changes to examples.