No need to pass `this`
Refine generators
Rename: tokenize_iterator -> token_iterator
Correct typedefs within generators
Redesign generators
Apply `explicit` keyword to conversion operator
(Solve the safe bool issue)
Decode UTF-8 string with `utf8_decode_iterator`
Apply the pimpl idiom
Move source files to `src/`
Merge branch 'develop'