## Link to GitHub Issue, if one exists
Fixes#364
## Description of change
The game attempts to hook raw input, but raw input API can only be used
by one window per process. Hook `RegisterRawInputDevices` and prevent
the game from registration for raw input notifications.
## Testing
Tested that HID keyboard works with `Bind` option.
## Link to GitHub Issue, if one exists
Fixes#139
## Description of change
Add an option for detecting window focus when accepting input.
The new default will be to have the following:
* naive bindings will check for window focus
* rawinput binds are not affected, will continue to be accepted
regardless of focus
Other options (always / never choices) can be picked by the user to
tweak the behavior if needed.
Clean up usage of `0xff` constant to represent invalid naive vkey.
## Testing
Still in progress, especially in regards to performance.
On a i7-9700 system, 10000 calls to `superexit::has_focus()` takes
250-350 microseconds, so this should not be a big deal at all.