fix and improve parser

- check word boundary.  for example, "ifhoge" matched to if statement previously
- add tests for word boundary corner cases
- remove ここやで because double-width character doesn't point the exact place of the error