Twitch chat relay. Embed this page in an iframe and postMessage
{type: 'join', channels: ['somechannel', ...]} to it; it replies
with {type: 'status', state} and {type: 'lines', lines}
messages containing raw Twitch IRC lines, plus periodic
{type: 'stream', channel, uptime, viewers, title} status from
decapi and {type: 'emotes', channel, ...} sets per channel.
{type: 'auth', token} logs the socket in as that user, after
which {type: 'send', channel, text} posts to a joined channel;
the relay replies {type: 'auth', login} or an error.
{type: 'streamprobe', channels: [...]} asks for a one-shot
decapi status check on channels outside the join set, answered with
the same {type: 'stream'} reports.