Transition from tinyxml to tinyxml2 and improved font rendering.

1) Rewritten XmlReader using tinyxml2 - now it's using less memory. Profit is some about 15 Mb immediately after loading case1.

2) Improved font rendering. Here is two screenshots to compare. For font render added better outlining, utf-8 support and better scaling, so it looks much better in fullscreen now.
Before:
![scr before](https://cloud.githubusercontent.com/assets/8434495/3906022/dcb10034-22ee-11e4-9b78-da73f3f419e9.png)
After:
![scr after](https://cloud.githubusercontent.com/assets/8434495/3906034/f5c0ad54-22ee-11e4-82a1-b1d3a9790013.png)

Also here is utf8 example, though complete translation support need much more changes:
![utf8 example](https://cloud.githubusercontent.com/assets/8434495/3906137/13a8d6b0-22f0-11e4-8aec-85b9f67a9323.png)

You forget that game must have separate MLIFont instance for every different parameter set, and there is separate glyphs for uppercase and lowercase chars. Game already use 12 MLIFont instances! And for every that instance it will be rendered entire range.
Numbers here: for additional russian range (64 symbols) memory usage increased by 12 Mb. Chinese have approximately 4000 symbols for general literacy. Sooooo...
Of course, most common languages have small alphabet. But, as i mention in earlier message, there is other cons: you need to define every unicode range, and, if you want, for example, add language selector in game? You either need to write every language name in English, either render entire unicode to write language name in native language.

In fact, i've almost done rewriting MLIFont with cache, and it not so much additional complexity. It's even reduced memory usage, since game dont render not used symbols, such as '^" or '&'. 

As for lower-end computers - i will do some tests later, since i need to setup VM for this.