Got ncurses-intro (such as it is thus far) building.

Updated ncurses module to provide the functions ncurses-intro needs.
Broke into some ad-hoc modules.  (Next: RAII style setup/tear-down.)

Pub-ified a number of pieces of ncurses_core in order to support ncurses.

Fixed a number of constant definitions in ncurses_core (some of them
had been mistranscribed, which was harder to see before because Rust
was missing octal literals when the original port of the header file
was done).
Started switch to RAII style setup/teardown with a ncurses::Context object.

Improved handling of interrupts of `getch`, including a condition-like
API for putting response to `getch` failures into the hands of the
client.  (ncurses is not thread-safe anyway so there is not much point
in adopting full-blown thread-local condition state.)
Switched more completely to RAII setup/teardown for ncurses::Context.

(Namely in turns of moving functions into methods on a borrowed
Context.)
Further revisions while trying to add misc addch support.
Added move/wmove.  Did some refactoring in response.

(The ideal mod organization here is not yet clear.)
Added refresh as well as (Window-specific) touch and untouch.
Changed the API for mode setting functions to parameterized over bools.
Put in Window-specific wgetch (ie getch). This necessiated some design;
ideally each Window would be able to have its own error handler, but
this is tricky because of rust issue #8025.

So for now I just have each window keep a pointer to the context and
inherit its error handler.  I think this will also enforce a model
where you have to make all of your desired modifications to the
context before you start creating any window for it.

Added some notes on terminal-issues.  At some point I might want to
check for the problematic condition being described here.
Added both getnstr and getstr methods, but layered them both atop the
(safe(r)) nc::getnstr function, since I see no way to make nc::getstr
safe to use.

Added pseudo-test of functionality in ncurses-intro.
Added attr{on,off,set} mehtods to Context and to Window.
Attempted to generalize the attr code to allow for user to provide
"arbitrary" representations of attribute sets as long as they are
encodable.

But this fails to link (!).  Possibly a bug in rustc.  Warrants
further investigation.
Added raw mode to context.

Hoped that this might resolve the Ctrl-C handling issues I am
wrestling with, but a quick test was not fruitful.  Still good
to have them available.
Fix to doc.
Added screens module.  Put in the most clearly relevant methods.
Would like to raii-ify the API but not sure how to handle ownership
transfer in set_term (in particular, we do *not* want to run the drop
method on the s argument there).

Maybe an answer could be to keep a flag in the screen, or null out its
ptr, when we are dealing with the context of set_term, which should
not deinitialize the transferred screen.  Not sure yet.

Anyway, while poking at this and trying to get the privacy right
(since I do not trust this screen code at all), I discovered what
looks like a bug in our privacy validation pass.  Will have to poke at
it more tomorrow/this week.