
Console - First Pass
--------------------

Consoles are just xterms created with the -Sxxn switch.
A pty is opened and the master goes to the xterm side
and the slave is held by the wine side.  The slave fd
is changed into a HANDLE32 and this HANDLE32 is set
to the STD_*_HANDLES.

For now writing/reading to a console just calls FileWrite/FileRead.

If the command line console is to be inheirited or
a process inherits it's parents console (-- can that happen???),
the console is created at process init time via PROCESS_InheritConsole.
The 0, 1, and 2 file descriptors are duped to be the
STD_*_HANDLES in this case.  Also in this case a flag is set
to indicate that the console comes from the parent process or
command line.

If a process doesn't have a console at all, it's 
pdb->console is set to NULL.  This helps indicate when
it is possible to create a new console (via AllocConsole).


Like most k32 objects, when the FreeConsole is called, the 
ref count is decremented and the console is freed when
it reaches zero.  The free kills the xterm and closes
the master/slave fds.

Also like most k32 objects, we assume that (K32OBJ) header is the
first field so the casting (from K32OBJ *to CONSOLE *)
works correctly.

BUGS
----

A exit handler needs to be added.  If the process exits
without calling FreeConsole, the xterm continues on...
But... there should probably be a generic exit handler in
wine for this kind of stuff (K32OBJs).

