イテレータを使ってtokenize するように変更

しました。
そもそもlexerの解釈の性質からしてこの`if`チェックは必要ないことに気がついた。
先頭が空白文字の入力ならば、そもそも入力の長さが1の段階で`ignore`が`true`を返していないとおかしい。
先頭が空白文字でなければ`if`チェックの有無にかかわらず`false`が返る。
今回のPRですべきことではないが。