fix: recover from LimitOverrunError in CLI stdout processing
When a JSONL line from a CLI subprocess exceeds the asyncio StreamReader
1 MB buffer limit, _process_stdout crashed with LimitOverrunError. The
async for loop is replaced with a while True + explicit readline() loop
that catches LimitOverrunError, drains the remainder of the oversized
line, emits a synthetic tool_end event so the agent can retry with a
narrower query, and continues processing. Normal-sized lines are
unaffected.