* dev: add `WEB_KIDS` innertube client
* refactor: move DASH manifest stuff out of `VideoInfo`
This makes it easier to use these functions elsewhere.
* feat(ytkids): add `Kids#getInfo()` & `Kids#search()`
* feat: add `Innertube#kids.getHomeFeed()`
* docs: add YouTube Kids API ref
* docs: fix typo
* docs: fix yet another typo
* docs: update YouTube Music API ref
Unrelated but required to reflect changes made to the DASH manifest generation functions
* chore: lint
* chore: add tests
* feat: include `captions` in `VideoInfo`
* chore: fix tests
* feat: add `TV_EMBEDDED` client
See #191, this should help bypassing some age restricted videos.
* dev(VideoInfo): update format options interface
* dev: set `clientScreen` to `EMBED`
* dev: update API ref
* dev: update `Context` interface
* chore: add video upload url
* feat!: add support for uploading videos
This is probably complete but I will do a self-review later today.
* style: align comments
* style: lint code
* chore: tidy things up