chat: migrate apertus to modular PEG parser
Move apertus tool call parser from chat.cpp to
common/chat-syntax/apertus.cpp as a modular implementation.
The format uses JSON array with short form:
<|tools_prefix|>[{"func_name": {...}}]<|tools_suffix|>
with optional <|inner_prefix|>...<|inner_suffix|> reasoning blocks.
Added common_chat_peg_short_form_mapper() to handle the Apertus-style
JSON format where function names are object keys.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>