COMMON: Add underlying type names to Common::String.

The value_type is analogous to std::basic_string::value_type.
The unsigned_type on the other hand is an unsigned type of the value_type which
allows to obtain an character without nasty sign extension.
COMMON: Add simple UTF-32 string class U32String.
GRAPHICS: Let Font take uint32 as character codes.

This is required to support UTF-32 strings but does not make them work
automatically!
GRAPHICS: Get rid of _glyphSlots in TTFFont.
GRAPHICS: Allow TTFFont to cache glyphs when required.

This should allow TTFFont to display UTF-32 characters from fonts.
GRAPHICS: Allow Font to accept U32String as strings.
WINTERMUTE: Switch WideString to U32String.
COMMON: Document U32String a bit better.