Fixed UTF-16 surrogate pairs triggering "unreadable content" error

Fixed a bug in the Spreadsheet_Excel_Writer_Worksheet::writeStringBIFF8() method where the length of Unicode strings was being calculated based on the number of characters, and if the string contained any UTF-16 surrogate pairs then a "found unreadable content" error would occur when opening the worksheet in Excel (it apparently expects Unicode string lengths to be the number of 16-bit code points, not the number of characters).