Bombus, сначала вы делаете библиотеку, чтобы выдавать команды VT100 (это со стороны контроллера), а затем ищете решение отрендерить посылки VT100 в картинку и отслеживать изменения областей экрана. Я правильно понимаю?! Что-то это мне напоминает...
Если по хорошему, сделайте со стороны контроллера переключение режимов - данные/визуальный.
В визуальном режиме работайте посылками VT100 - красиво, наглядно, можно подключиться терминалом... В режиме данных обменивайтесь данными, хоть по modbus - надежно, машиночитаемо и т.д.
Для переключения режимов можно использовать какую нибудь текстовую последовательность, например ++++====++++=1 переход в визуальный режим, и ++++====++++=2 переход в режим данных.
Если режим данных у нас не основной, то из него можно выходить по какому нибудь таймауту, например после 5 минут без ответа на посылки. Ну и наоборот тоже...
И да, многие старые программы типа kermit подобным образом и переключали режимы работы...