Fixes next_token

Skips whitespace before `eos?` check to prevent a parse error when there is trailing whitespace at the end of a PGN file.
Adds handler
Updates parser to use handler
Adds methods for loading PGN input