What's the simplest way in D to read a file token by token, where the read tokens are D strings, and they are separated in the file by arbitrary non-zero amounts of white space (including spaces, tabs and newlines at a minimum)?