shimmed NodeList with an array() function

fixes #2186, and will let us just do `document.querySelectorAll(...).array().forEach` instead of `Array.prototype.slice.call(document.querySelectorAll(...)).forEach`