Initial implementation of basic RTL support

Still buggy and cursor movement is completely wrong.
Re-arrange into visual order properly
Merge remote-tracking branch 'upstream/refactor-syntax_unicode' into refactor-syntax_unicode_rtl
Merge remote-tracking branch 'upstream/refactor-syntax_unicode' into refactor-syntax_unicode_rtl
Fix drawing of bidirectional text
Special handling of tab character when doing bidi layout
Use the correct clipping rects when drawing bidi text
Merge branch 'refactor-syntax_unicode' into refactor-syntax_unicode_rtl
Replace some of the more potentially troublesome ctype function calls
Merge remote-tracking branch 'upstream/refactor-syntax_unicode' into refactor-syntax_unicode_rtl

Conflicts:
	engine/src/exec-strings-chunk.cpp
Merge branch 'refactor-syntax_unicode_navigation' into refactor-syntax_unicode_rtl
Add basic (but not-quite-working) support for visual order field navigation
First attempt at implementing the Unicode BiDi algorithm
Fix iterating through isolating level runs
Merge with upstream/refactor-syntax_unicode
Fix various problems with text direction resolution
Merge remote-tracking branch 'upstream/refactor-syntax_unicode' into refactor-syntax_unicode_rtl

Conflicts:
	engine/src/font.cpp
	libgraphics/src/lnxtext.cpp
	version
Merge remote-tracking branch 'upstream/refactor-syntax_unicode' into refactor-syntax_unicode_rtl
Ensure setting field line text alignment works
Fix some RIGHT/LEFT vs FORWARD/BACK field translations