spearmint: CGAPI: Add explicit char event cgame call

K_CHAR_FLAG 1024 will cause issues for full unicode support.
Make it a separate call so cgame can manage this however it wants.

Also, before it was missing extra arguments I added to CG_KEY_EVENT.
spearmint: Make tokenizing work with UTF-8 text (negative char values)
spearmint: Network string bytes > 127 for UTF-8

Changing MSG_HashKey likes breaks the client<->server protocol, so the
number has been increased. Playing protocol 2 demos still works though.
Fix reading 4 byte UTF-8 text input