Improved comma tag completion on international keyboard layouts

Reported in issue #1475
- `String.localeCompare` can be more reliable for keys that do not relate to cursor movement
- Adds a third key handler (`keypress`) that contains the character code rather than physical key
- `COMMA` key constant no longer required (unless `,` char should be a constant?)
Merge pull request #1741 from hughes/better-comma-detection

Improved comma tag completion on international keyboard layouts