New namedtuple to store a cell values and attributes

can be extended to also store color values
Adds support for character cell attributes to TextImage
Adds support for character cell attributes to DrawingContext
Add a convenient border() method to DrawingContext
Adds support for some special curses KEY values

UP, DOWN, LEFT, RIGHT, ENTER and SPACE
fallback is still chr(key_code)
Check color support with self._curses.has_colors()
Use StopIteration args to return something useful to the caller
Use character cell attributes in Curses display

Loops are now performed on cells, not lines

Note:
To avoid the scrolling error when writing to the lower right corner, first
put the entire line minus its first char and use insstr() to insert it.
New demo that shows how character cell attributes works.