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?)

There don't appear to be any tagging ui tests yet, but I tried this manually using the Russian keyboard layout. The `б` key no longer submits tags, and the `,` key does despite being mapped to what would otherwise be a `?` key.

Not sure how this fits in to the greater scope of issue #1463 but it fixes the problem for now.