Change oneOfStrings result type, and provide case-insensitive alternatives for various

- Change oneOfStrings to return (listof char?) not string?
- Add charAnyCase. Like char, but case insensitive.
- Add stringAnyCase. Like string, but case insensitive.
- Add oneOfStringsAnyCase. Like oneOfStrings, but case insensitive.
- Refactor oneOf and noneOf to share common code.
- Fix doc of Pos field names. While I'm at it, change the first field
  (previously called `pos` in the docs but `x` in the code) to be
  named `ofs`, which I think is clearest. Errors are often reported in
  terms of line, column, and absolute offset. So I think `ofs` is a
  good name.

**NOTE:** Even though I'm a collaborator on this repo now (thanks again!) these were enough changes, and we'd only really discussed one of them, that I felt better doing this as a pull request so you could review (if you want).