Adjust IKeyboardEventHandler to use a dynamic registration instead

KeyboardEventSystem now does registration basic off a dynamic array of keys set
in the IKeyboardEventHandler constructor. This will allow for registering of keys
beyond the ASCII range, but at the same time not creating huge waste of memory.

Closes #100
Merge remote-tracking branch 'upstream/develop' into develop
Fix audio not playing beyond 4 seconds on OS X.

The OS X implementation of alGetSourcei alway returns 0 for AL_BUFFER
if the input source is streaming.
Merge pull request #134 from DeVaukz/develop

Fix audio not playing beyond 4 seconds under OS X.
Merge remote-tracking branch 'upstream/develop' into develop