CharsetСonverter rework - Part 2

As std::u32string will be widely used across the code, we need convenient framework for UTF-32 conversions.
This PR will add support for easy conversion UTF-32<->UTF-8 and UTF-32<->wide string.
On platforms with UTF-32 == wide string, wide<->UTF-32 conversion is done by simple assignment.