Replaced Queue with a more appropriate data structure wit ha constant
size that automatically overwrites the oldest values when new values are
enqueued.

Moved the history to the model where it should be!

Introduced KeyActivity to the KeyActivityEventArgs which carries info
about the latest keypress (key code and whether it was
[syskey](up/down))

Moved some external definitions to a new struct in RawInput.