Added a system for creating chat messages with a style.

Supports colors, fancy stylings, and click/hover events.

The sooner we don't need to use legacy chat the better.
Right now yes, but if we ever also modify the client... Just... ugh enums are bad for dynamic content.