Идея отличная. Сделать обертку для текстового отображения, тогда на задний план теоретически возможно выводить подкраску и перехватывать ввод, чтобы учитывать все сдвиги. Попробую разобраться с обертками. И Петру спасибо за «путь прохождения пользовательских сигналов управления», может пригодиться.