allow access to result in code

When an expression has an action, currently the function only receives the named expressions.
This pull request adds a `__result` argument, so that one has access to each and every match.

No breaking changes.

E.g.

```
HTTP_version
  = "HTTP" "/" DIGIT "." DIGIT
  { return {
    major: __result[2],
    minor: __result[4]
  } }

DIGIT
  = [0-9]

```

Thoughts?

UPDATE: this also adds a `__ruleName` argument, so that one can create generic actions.