fn truncate(s: &str, max_len: usize) -> String
Truncate a string to max length, adding ellipsis if needed.