By default, calls to `persistResumableFields()` will query the
`document` for elements with the (default or provided) `selector:`.
This commit adds support for specifying a `fields:` option, collecting
`NodeList` or `Node[]`, to provide the function with a set of `<input>`
or `<textarea>` elements to persist. Providing `fields:` would make
`selector:` redundant, and vice-versa.
```js
const myFields = document.querySelector("[data-persisted-field]")
// ...
// pass the `NodeList` directly
persistResumableFields(getPageID(), { fields: myFields })
// pass an array of `Node` instances
persistResumableFields(getPageID(), { fields: Array.from(myFields) })
```
Similarly, calls to `persistResumableFields()` will query the _document_
for elements with the (default or provided) `selector:` by default.
This commit adds support for specifying a `scope:` option to declare a
`ParentNode` instance other than the `document`.
```js
persistResumableFields(getPageID(), {
scope: document.getElementById("my-scope"),
selector: ".descendants-of-my-scope",
})
```