Simplify dependency-parsed text with C++20 rule-based sentence splitting, active voice, and coherence-preserving rewrites