Remove 10,000 character limit on UTF16PtrToString function.

This implementation always allocates a Go string of the same length as the passed-in UTF16 string (todo: consider renaming UTF16PtrToString to BSTRToString, since it assumes a BSTR is passed in now, or keeping the original function along with this version). It also allows BSTR's that contain NUL characters by removing the null-character check and using the actual string length to create the returned string.