More support unicode identifier

More points:

  - Support an Surrogate Pair
  - Add a generator script (useful maintaining)
  - Characters valid as identifier are clearly, so we can write a exact document.