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.