unicode_traits

new struct, unicode_traits (similar to std::char_traits)
many new unicode functions (static members of unicode_traits)
defined many string member functions
added utf16 function declarations/definitions