А по сложностям библиотек.... тут или делать универсальность, либо затачивать под каждый дисплей отдельную библиотечку.
Что нужно чтобы нарисовать интерфейс для часов? Заливка прямоугольных областей произвольным цветом, рисование линий, которые сами по себе прямоугольники, вывод текста и изображений, что фактически одно и то же Для всего этого достаточно задать окно и заполнить его данными, главное чтобы для разных дисплеев и ориентаций отрисовка внутри окна шла в одном направлении. И это можно сделать установив соответствующие биты в одном-двух регистрах дисплея... Ситуацию усложняет тот факт, что даже после этого не все дисплеи ведут себя одинаково, у каких-то вместе со сменой направлений могут поменяться оси или координаты придется вычитать из размера по соответствующей оси, но это все делается только при задании окна. И все, далее пользуясь только парой функций setWindow() и writeColor(), которые работают везде одинаково, можно нарисовать, допустим, линию. При выводе символа тоже будет одна setWindow() и множество writeColor(), при этом то и другое будет правильно рисоваться на любом экране где внутри окна данные выводятся слева направо и сверху вниз. Если нужен зеркальный шрифт, то даже не меняя направление можно передавать данные в другом порядке и все равно будет заметно быстрее, чем рисование точками. Хотя можно и точками рисовать, это ведь тоже прямоугольник единичного размера, только насколько большой объект там имеет смысл рисовать? Если картинка на весь экран, то наверняка придется ее выводить именно так, как я предлагаю рисовать все...