Add YouTube API support

Ok here's a cleaned up version of the last pull request I just dumped the old forked repo, so that a merge wouldn't cause any problems.