Do not modify argument to setContents()

I noticed in my app that the argument I pass to `quill.setContents(delta)` gets modified in place (a delete operation is prepended).

This uses `slice()` to ensure that the unshift operation happens on a copy of the array.