Create HTML to DOM helper for the client/browser
Create HTML to DOM helper for the client/browser

The original HTML to DOM helper works in the node environment
and it depends on both `htmlparser2` and `domhandler`, which is
unnecessary in the browser environment because there is already
a DOM provided.

As a result, the motivation is to create a helper that if on the
client-side, uses the DOM API to prevent bundling the extra node
modules in the build. This is to keep the library isomorphic.

`formatDOM` ensures that the NodeLists are formatted like the
output from `htmlparser2.parseDOM`.

The contract is as specified:
```js
{
  type: "tag" || "script" || "style" || "text" || "comment",
  [ name: [String], ]
  [ data: [String], ]
  [ attribs: [Object], ]
  [ children: [Array], ]
  next: [Object] || null,
  prev: [Object] || null,
  parent: [Circular] || null
}
```

remarkablemark/html-react-parser,remarkablemark/html-react-parser,remarkablemark/html-react-parser