Tool parser:
- Case 3/4: return None instead of DeltaMessage(content='') when
inside an open tool section with no parseable content yet.
Empty-string content deltas pollute the response and break the
content=null vs content='' contract with non-streaming.
Reasoning parser:
- Suppress tool-calls section markers from content forwarding.
The tool parser detects them via current_text re-parsing; forwarding
them as content causes double-handling.
- Already-past-reasoning path: strip section markers from content
for the same reason.