Move closing of output Supply to Lexer
Make tests a bit more specific
Wait for done promise before returning result

If I do the following with a parser object:

    await $parser;
    my $result = $parser.result;

I expect a result to be available.  Before this patch, that wasn't
guaranteed
Add test for file source
Fix typos in README