Genie:  Implement socket stream methods
Genie:  Implement pseudo-tty stream methods
Genie:  Implement serial device stream methods
Genie:  Uninline SimpleDeviceHandle constructor
Genie:  Implement simple device stream methods
Genie:  Implement button-stream stream methods
Genie:  Implement console-tty stream methods
Genie:  Uninline List_data_Handle constructor
Genie:  Implement list-data stream methods
Genie:  Uninline TextEdit_gate_Handle constructor
Genie:  Implement textedit-gate stream methods
Genie:  Uninline IconDataWriterHandle constructor
Genie:  Implement icon-data-writer stream methods
Merge branch 'stream-methods'
Genie:  Forward terminal stream methods to its tty

By doing this, we're no longer relying on the default poll/read/write to
cast the terminal into its tty device.
Genie:  Don't call StreamHandle Poll() from poll()

All overrides of SysPoll() now implement the poll method, so just return
read/write as a catch-all instead of calling Poll().
Genie:  Don't default to stream Read() and Write()

All SysRead() and SysWrite() overrides are now implementing vfs methods,
so just throw EPERM instead of falling back to Read() and Write() (whose
default implementations do just that).
Genie -> vfs:  Move {poll,read,write}() primitives
Merge branch 'stream-primitives'
vfs:  Pass reference to ioctl() primitive