Add more Character reference test cases

- Add decimal and hexadecimal versions of chars
Fix get_char_ref_token fucntion

- Fn `get_char_ref_token` now returns returns correct token values
  and it no longer depends on `peek_chr` function.
Refactor `process_digits` and add docs