v0.14.0 — buffered SSE for tool/schema streaming

stream=true with tools or response_format no longer returns a 400. A tool call
or a schema-validated answer only exists once the full response is computed, so
we buffer it and replay it as a single-shot SSE stream (text/event-stream):
opening role chunk -> one content or tool_calls delta (streaming tool_calls
carry the required index) -> finish chunk -> data: [DONE]. The client's
streaming SDK gets a valid stream, just not token-incremental.

Plain chat still streams incrementally. Genuine failures still surface as
422/500 rather than a stream. Additive: the v0.13.0 400 on stream+tools /
stream+schema is replaced by buffered SSE.

190 tests passing. Ships psyb0t/aicodebox:v0.14.0.