Twintk, the Terminal Windows Toolkit, is a library for developing
intuitive terminal-based applications utilizing menus, color,
dialogs, etc.

It utilizes 3 separate layers:

Image: A buffer containing the current window or terminal content

Terminal: A structure representing a terminal screen, including
its image

Window: A structire representing a window, including its image

A window or terminal can be updated immediately via functions like
wputc() or a curses-like strategy can be used by updating the image
only and then redrawing the window or terminal. The developer can
choose which approach is best for each situation.
