Moves Gfycat to use API via site access key.
Adds cachetools as dependency to reuse API keys for Gfycat/Redgifs at 95% of their TTL. Include tests to verify caching.
Updates versions of requests/yt-dlp/black/isort/pytest.
Added default timeout to requests calls.
Adds validate-pyproject and blacken-docs to pre-commit as well as updates versions.
Standardizes shebang and coding declarations.
Coding matches what's used by install tools such as pip(x).
Removes a few init files that were not needed.