Correct IP after hex-to-char + reveal-invisible

* Addresses LT-15398.
* Work around nuances of TextBox.SelectionStart and
  TextBox.Text.

The issue here is that when an invisible character is converted
to a visible form, the insertion point was being placed as if the
character was still invisible. This is now corrected.

Change-Id: Ic0beb0b3996e7d7c1bb1932cac453d426cc95f00