Chat events refactor
Refactored most usages of ClientReceiveMessageEvents.GAME to use ChatEvents.RECEIVE_TEXT and ChatEvents.RECEIVE_STRING, or the overlay variants (which are also added in this PR) if they required so, with some exceptions because either their logic was complicated due to handling both overlay and chat messages or they already had a cancelled message fix which worked (I presume).
Some usages of ClientReceiveMessageEvents.GAME weren't clear in whether they used overlay messages or not, they didn't do anything with the variable. This refactor also clarifies those by using the relevant event.
As for why the overlay events are separate instead of being similar to fabric's events, it's because there were way too few uses of action bar messages, it's roughly 4 uses in total compared to 25 something chat message listeners. Each chat message listener had an ugly if check that increased the brain power required to understand. Each overlay message listener had the same if check, but reversed. It's just not good for anybody. This fix also encourages any future dev to separate their overlay listener and chat listener logic because they're almost always different anyway, keeping them in the same method was complicating it.
Haven't tested.
If you're not satisfied with the event names, please lmk because I feel the same way yet I don't know what would be better alternatives to them.