Add full ChatStream support to the pico channel, enabling real-time token
streaming to connected WebSocket clients.
Changes:
- Add streamer tracking in turnState (acquire/release per conversation turn)
- Integrate ChatStream in pipeline_llm (use when streamer is available)
- Wire streamer lifecycle through agent loop
- Add Streaming field to PicoSettings config
- Skip bus publish when response was already streamed
- Add streaming test scaffold
When a channel supports streaming and has it enabled in config, the agent
loop calls ChatStream() instead of Chat(), allowing tokens to flow in
real-time through the WebSocket as the LLM generates them.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>