If I understood things right, the library should work with `codePoints` over `charCode`. In that case should the `nodeToCharCode` change to `nodeToCodePoint`?

Or even better: As the `codePoint` is now added to every `escape` type and `nodeToCharCode` only works on `character` and `escape` types, how about adding a `codePoint` entry for `character` nodes and then the `nodeToCharCode(...)` function can be killed entirely? 

This would also be great for consistency: every node that contains a base-case "value" also has a `codePoint` entry :)