Edit book: Fix column number of cursor one less than it should be.

Also fix non-BMP characters before cursor not being reported correctly.
Use new roundtrip code for ICU get_character_name
Use macro instead of sizeof as that is recommended by the python developers