Add support for character ranges

I wrote a esrap-peg package to provide full PEG support on top of Esrap parsing core. Currently Esrap-PEG uses generating semantic predicates on the fly for character ranges. This pull request adds character range support into esrap itself.