Server-side stdio transport for ACP agents.
This transport reads JSON-RPC lines from this process' stdin and writes JSON-RPC lines to stdout. Logs and diagnostics must go to stderr.
Frames are UTF-8 bytes. Each device is either a character device or a byte
device, decided by how it was opened (for stdio, by the process locale)
and subject to change by the VM, and the transport reads and writes it the
way it is configured at that moment so nothing translates the frames.
Embedders may pass their own :input and :output devices.