vbufBase: Ignore unicode characters from the private usage range (and 0-width space) at the start end end of text nodes, and also treet these characters as not useful when searching short strings to see if they should be overridden with a parent label. Re #2963.
Specifically:
* Add an isPrivateCharacter inline function to vbufBase/utils.h which checks if a character is from the private use unicode range, or is a 0-width space. The private use unicode range we check is from U+e000 to u+f8ff.
* VBufBase's nodeHasUsefulContent: rather than calling isWhitespace, write out a for loop directly, and return true if any character that is not whitespace (iswspace) or is from the private use range or 0-width space (isPrivatecharacter) is found.
* VbufStorage_buffer_t::addTextFieldNode: strip private characters from the start and end of the text string if they exist when giving the text to the new text node.