[issue 460] Support variable-width text

Updated from 2011 patch by fjakobs:
https://github.com/ajaxorg/ace/commit/36ebe6c49632f7a2955ce9933a7432f238a389b7

* removes old double-width CJK handling
* replaces monospace assumptions with measurements of actual text
* appears to work for Latin, CJK, Thai, Malayalam in ad-hoc testing
* does NOT fully handle RTL text issues (Hebrew, Arabic)