Updated all the static vars listed in the Unicodification spreadsheet
[[ UnicodifyScrollbar ]] Converted startstring / endstring of MCScrollbar to MCStringRef.
Add Unicode support to MCGraphic

MCGraphic now uses an MCStringRef to store its label. Wrapper functions MCFontMeasureText and MCFontDrawText were added - these take an MCStringRef rather than a {const char * p_text, size_t p_text_length, bool is_unicode) triple. The wrappers will need modification when MCScreenDC can take an MCStringRef in its corresponding methods.
Did the Player Object fields
fixed conflicts so as to merge upstream/refactor-syntax_unicode into .._statics_1
Further cleanup of MCGraphic

The getters/setters for the label property of MCGraphic have been cleaned up. The {Get,GetEffective,Set}UnicodeLabel functions now work with MCDataRef binary strings instead of MCStringRef. Do{Get,Set}Label have been removed.

The MCFont{Measure,Draw} wrappers have been fixed to work properly with StringRefs in both native and UTF-16 encodings.

All label manipulation functions now reject nil StringRefs - the no-label case is represented by setting the label to kMCEmptyString instead of nil.

MCGraphic::getlabeltext() now has get semantics, returning the label without a refcount bump.

An overload of IO_write_stringref has been added with a parameter explicitly requesting the encoding to use when writing out the string, regardless of the underlying encoding used by the given StringRef. A corresponding IO_read_stringref has also been added.
Updated some statics and globals
Allow MCStringConvertToUTF8 to return a length

The existing MCStringConvertToUTF8 function calculated the byte length of a UTF-8 encoded string internally but did not provide a mechanism for returning this. A wrapper has been added for existing callers with no interest in the length.
Add IO_{read,write}_stringref_utf8

These functions read a UTF-8 encoded string into a StringRef and write a StringRef as a UTF-8 encoded byte stream, respectively.
Modified MCTooltip and MCObject to use StringRef tooltips

The tooltips used and stored by MCObject and MCTooltip now use StringRefs and support Unicode for I/O.
Change MCControl::{Get,Set}UnicodeToolTip to take DataRef

These methods now take a DataRef containing UTF-16 encoded characters when explicitly requesting Unicode.
Rename new MCStringConvertToUTF8String to MCStringConvertToUTF8

Function renamed in order to better reflect its operation. MCStringConvertToUTF8String is implemented in terms of the renamed function.
Merge branch 'refactor-syntax_unicode' into refactor-syntax_unicode_graphic

Requires updated libfoundation/foundation.h header from upstream in order to clean up some StringRef/DataRef conversion code.
Simplify the new IO_{read,write}stringref functions

The implementation of these methods is much simpler, making use of the MCStringEncode and MCStringCreateWithBytesAndRelease functions.
Simplify MCGraphic::{Get,Set}UnicodeLabel

These methods now use the new MCString{Encode,Decode}{,AndRelease} functions, making their implementations much simpler.
Merge remote-tracking branch 'upstream/refactor-syntax_unicode' into refactor-syntax_unicode_object

The new string manipulation methods in libfoundation/foundation.h are required in order to simplify some conversion code.
Fix to IO_read_stringref_utf8

Updated the function to remove a resource leak.
Simplify MCControl::{Get,Set}UnicodeToolTip

These methods now use the MCString{Encode,Decode} functions in order to simplify their implementation.
Add Unicode support to MCField

MCField now uses an MCStringRef to store its label.
Simplify MCField label handling

As per Mark's suggestions, simplified the label handling for MCField (the label should now never be set to nil, only the empty string).