chat: migrate lfm2 to modular PEG parser
Move lfm2 tool call parser from chat.cpp to
common/chat-syntax/lfm2.cpp as a modular implementation.
The format uses JSON array: <|tool_call_start|>[{"name":"...","arguments":{...}}]<|tool_call_end|>
with special handling for "force json schema" markers in system messages.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>