No need to propagate filename down to parser.

Also remove the filePos type since it's no longer necessary.
add Parse() to parse from an io.Reader. Cleanup tests.
default token must be after all machine tokens