adds Tokeniser - very simplistic, incomplete string tokeniser

this module basically lets you get tokens from a string by moving along
it until the current character matches a regular expression, and then adding
the current character to a token as long as it matches a regular expression.

it has the minimum functionality required so that it can be used to parse a
time string like "3h 5m", which is what it was written for.