Code we can remove once we drop IE11
====================================

Quick wins: Deprecate in unpoly-migrate.js and remove from unpoly.js
--------------------------------------------------------------------

- up.util.assign => Object.assign
- up.util.toArray => Array.from
- up.element.remove => Element#remove
- up.element.matches => Element#matches
- up.element.closest => Eelement#closest
- up.element.all => Element#querySelectorAll
- up.element.toggleClass can just be classList.toggleClass => deprecate
- In up.util, remove traditional `for` loops with `for..of` loops so methods work on iteratable objects


Quick wins: Removals
--------------------

- maybe stop stripping <noscript> tags
    # (1) IE11 and Edge cannot find <noscript> tags with jQuery or querySelector() or
    #     getElementsByTagName() when the tag was created by DOMParser. This is a bug.
    #     https://developer.microsoft.com/en-us/microsoft-edge/platform/issues/12453464/
- up.focus() can use native preventScroll: true
- passive event listeners are supported natively
- IE11 hack to implement defaultPrevented in custom events
- normalizeURL can use { host } to strip away standard ports
- ie11 hacks in parseURL
- viewport.rootSelector can just be document.scrollingElement
- replace isNativelyFocusable() with element.tabIndex >= 0
- up.on() options { passive, one } can just be forwarded to Element#addEventListener()
- up.framework.mustBootManually() can rely on document.currentScript being supported
- Drop IE11 fies from parseURL()


More work required
------------------

- maybe don't even have a ES5 build?
- we might want to parse URLs faster with the URL class (but check how it handles non-fully-qualified URLs)
- maybe replace up.Params with FormData, but we would need a lot of utility methods around it
