touchpad: special-case shift as modifier for dwt
We ignore modifiers for disable-while-typing because we don't want to disable the touchpad for things like shift-click or ctrl-click.
We also do remember the modifier state so that we don't disable the touchpad for once-offs like ctrl+s.
Shift is however a special case - shift + something else is means the user is typing and we should disable the touchpad for that.
Closes #1005 (closed)