Refactor glitch generation and allow for user-driven glitch generation.

So this is a pretty radical change and I understand if we may want to tone it down somewhat, but essentially this look at the message content and applies a glitch algorithm if it sees certain trigger words.

I.e. 'tyedye me' will apply a tyedye-like glitch.

It also refactors the image generation to remove the race condition that caused frame ordering issues, and just to clean it up a bit.