The "auto" argument requests a full refresh and increses full refresh count
by one. And the "full" argument forces a full refresh and reset full refresh
count. And the "partial" argument requests a partial refresh.
If full refresh is false and refresh count is FULL_REFRESH_COUNT - 1,
every refresh becomes full refresh. This patch increases refresh count
when a full refresh is performed no matter whether full refresh is
requested.
"HintPage" tasks are scheduled into the execution stack of UIManager
after each page drawing. These tasks should be checked immediately after
screen is refreshed so tasks are double-checked in the main loop.
a bit of cleanup, switched width/height combo over to use
Geom() objects, moved framebuffer handling to Screen object,
callback syntax sanitizing, lots of small changes