Query selector

This is based on https://github.com/toolkitchen/ShadowDOM/tree/query-selecto

It also implements `getElementsByTagName`, `getElementsByTagNameNS` and `getElementsByClassName`.

It also installs `matches` on `Element` so we only have to do the feature detection in a single place.