Changes to things that deal with child elements

- Removed the addition of support for the .children property on Document and DocumentFragment
- Filtering childNodes in the .childElements() function for nodes that don't support the .children property
- Added NodeCollection#childElements() and made the existing NodeCollection#children() an alias for it
- Using a new private function in most places to check if a Node is an Element