[[ Bug 12138 ]] 'drawer ... at <position>' codepath resulted in nil pointer dereference
[[ CombiningChars ]] Fixes the 'for each char/trueword/sentence' command, which was broken with combining chars
Fixes the cursor positionning when combining char are type, within the Script Editor.
Auto-indenting is broken whenever a surrogate pair is present in a script, since FirstIndexOfChar is still offset by 1 for each surrogate pair
[[ CombiningChars ]] Fixes marking of lines/item/word/token when a string contains surrogate pair
[[ Bug 12143 ]] The mousechunk end index is one larger than it ought to be
[[ Bug 12118 ]] revExecuteSQL writes incomplete data into SQLite BLOB columns
[[ Bug 12147 ]] create button in group command fails
[[ Bug 12150 ]]  LiveCode crashes when changing the window kind
[[ Bug 12160 ]] Put after/before on an uninitialised, by-reference parameter inserts the variable's name in it
Merge branch 'refactor-syntax_unicode' into refactor_syntax_unicode_combining_chars_fixes

Conflicts:
	engine/src/exec-strings.cpp
	engine/src/field.cpp
Cherry-pick of commit '538447dfbcb0' [[ CombiningChars ]] Fixes the IDE tokenization and deletion when combining chars or surrogate pairs are typed in the script editor

Conflicts:

	engine/src/block.cpp
	engine/src/exec-strings.cpp
	engine/src/field.cpp
[[ Faster ]] Improve type conversion generally
[[ Faster ]] Avoid valueref-pivot conversion when the execvalues are both numbers
[[ Faster ]] Setting 'before' a variable is now faster than in LiveCode 6.7
[[ CopyOnWriteStrings ]] Initial implementation
Destroy string appropriately
[[ CopyOnWriteStrings ]] Remove unneccessary clone when copying mutable -> immutable
Make sure MCStringCopyAndRelease returns a value
[[ Bug 12179 ]] Make sure byte chunk evaluation clamps range (now uses MCDataCopyRange).
[[ Bug 12179 ]] Added release note.
[[ FasterVariables ]] Comments added where modifications occurred.
MCVariable::modify set as protected to avoid misuse - should always go through set/give_value