Repeated invalid POSTs to /helix/eventsub/subscriptions will lead to a
disconnect of the event sub websocket connection.
Thus one single invalid channel selection could tear down any existing
subscriptions with it.
The caching mechanism for the token validity checks did not have the
desired effect, and the Twitch channel to user id mapping function was
attempting to resolve names even with an invalid token.
* No longer provide multiple HTTP helper functions with the same name
* Default to cache not being used
* Explicitly use the cache for certain Twitch actions and conditions
* Clear caches on shutdown to avoid leaks being reported
The "core" macro conditions and actions have been extracted out to the
"base" plugin.
The library now mostly contains functionality which is required across
all plugins and (e.g. definitions for macro segments).
The goal is to reduce the complexity and cross-dependencies and group
the source files in a better way.
This should relsove the "library limit of 65535 objects exceeded" build
issue occuring in some Windows build environments.