YTtoLBRY:
* Use DOMParser for reading OPML
* OPML parsing was quite brittle as it relied on string parsing
* Removed dead script inclusion in the HTML page
* Removed global state variables
* Use fetch to clean up the query logic
* Promisified file, API calls, and settings querying to simplify logic
Many of the utilities involving APIs were isolated to a common module.
Particularly, ytService contains all methods for extracting IDs,
querying for the lbry URLs, parsing OPML, and more.
This functionally is heavily used in YTtoLBRY and lightly used by
tabsOnUpdated.
* settings module as single source of truth and provides utilities,
defaults, constants, and typing
* runtimeOnStartup and storageOnChanged were merged into storageSetup
* storageSetup reworked to use settings for seamless additions
* tabOnUpdated and YTtoLBRY updated to use settings for URL prefixes
* All files were moved to the `src` directory, unchanged
* Parcel handles module resolution as well as transpilation via babel
* package.json, package-lock.json, and .gitignore were added
* Utilize crossplatform tools for build