Refactor HTTP / Websocket / IRC message parsing

There is a lot of duplicated code for parsing the content of messages, especially HTTP JSON content (Twitch API, Twitch OAuth2) and Websocket JSON content (Twitch EventSub, Twitch Heat Extension).