Refactor BitmapFontCache color markdown

Extract:
* TextMarkdown class - can be used to change different parts of text without using color tags inside text
* ColorTagMarkdownParser - parses color markup of a text and fills TextMarkdown object

Fix #2433 BitmapFontCache setting colors goes wrong
Hmmm... I always considered the Disposable interface like something intended to release native resources. I might be wrong though.