Split callback tests according to valid and invalid events

Since Hate doesn't pass on every keyboard press, only a select
amount, tests have been added to make sure that callbacks aren't
called with invalid keys.

Same with the mouse buttons
Broke tests out into their own files