My version of curses doesn't seem to have its own SIGWINCH handler that
does the right thing, so use a pipe to let my handler signal to have
work done outside the interrupt context (when window resizing etc. that
might call malloc() isn't safe.)
Lots of changes adding a games-list view to the app from which you
create new games, open and delete existing ones, etc. There's still
plenty that's unimplemented, but it's already more useful for testing
and development. Which is the point.