Add mods parameter to character callback

This is needed to correctly and **_reliably_** distinguish character events from mod+key combinations, due to the change in #40.

See the relevant discussion [here](https://github.com/glfw/glfw/commit/9c20737b60037dbbda5552a45b5af9e1314cc701#commitcomment-4744485) for context of why this is needed, and why there is no possible way to have fully reliable character input with the current API (if there is, I'd love to be corrected).

Before:

```
0000001b to 1 at 3.602: Key 0x0058 Scancode 0x0007 (X) (with super) was pressed
0000001c to 1 at 3.602: Character 0x00000078 (x) input
0000001d to 1 at 3.742: Key 0x0058 Scancode 0x0007 (X) (with super) was released
```

There was no way to reliably ignore the x character input when Cmd+X (shortcut for Cut) is pressed.

After:

```
0000001b to 1 at 3.602: Key 0x0058 Scancode 0x0007 (X) (with super) was pressed
0000001c to 1 at 3.602: Character 0x00000078 (x) (with super) input
0000001d to 1 at 3.742: Key 0x0058 Scancode 0x0007 (X) (with super) was released
```

Now it's easy to ignore the character x from being typed when the user presses Cmd+X.