Use UTF-16 encoding for ToString conversion

ToString() previously relied on PtrToStringAuto which may only support UTF-16 and ANSI. Now an explicit conversion is performed to UTF-16.
Remove NString.NSPinnedString

NSPinnedString was performing an extra retain on an already retained string and otherwise offered no additional functionality. Its use for constants would leak memory. Instead, these constants have been updated to return a String which can be implicitly converted to an autoreleased NSString as needed.