Only use std::string holding UTF-8 in the interface.

Store UCS4 using std::vector<uint32> instead of wstring, since wchar_t size is system-dependent and may be only 16 bits long.
SWIG and C++11.
Use std::u32string instead of vector<uint32>.