Added colored Chat. Ported from Freeminer

Adds colored chat which can be used in the form of:
`core.colorize('HEXXXX', string)`

Should be compatible with almost any application of text on-screen, though I am not sure.

This is back-ported from Freeminer while their license was still LGPL, should be compatible with MT.

NOTES:
~~Causes compilation to fail if compiled with -DENABLE_FREETYPE=0 or no -DENABLE_FREETYPE flag~~ - Fixed

TODO:
Remove color formatting strings from non-freetype clients.

This PR is primarily for discussion, please discuss. :)

Escape code is \vHEXXXX
Would be good to add

```
if #color == 3 then
    color = color[1] ..  color[1] .. color[2] .. color[2] .. color[3] .. color[3]
end
```
Above the assert.

I know that you did not write this code.