Add experimental "unified extraction" for parsing scripts and styles.

Instead of having two methods for parsing scripts and styles, consolidate
them.  This also unifies the parse result object, which will allow
installation of scripts and styles from any fragment in the future.  For now,
guard the new method behind a `experimental-extract-unified` config.

Also, make the parsing logic much more robust, handling both HTML4 and HTML5
formats, as well as oddities like spaces and single quotes.  Add tests.

Progress on #24.
Are styles from the html (body) supposed to be new to this experiment?

I thought the intention was to add with the change from css -> head, html -> body, etc.