pub fn tokenize_words(s: &str) -> Vec<String>
Word-and-punctuation tokenizer. Splits on whitespace, then separates leading/trailing punctuation into their own tokens.