Fix missing wakeup in VGA driver

Our VGA driver has, in addition to the actual keyboard driver, also a
buffer of injected input, _read_queue. Input is injected by the terminal
emulator code (libtsm) for example when the status report escape sequence
is used - as we do in our cli.c.

However, we forgot to wake up the sleeping input thread when such input
is injected. This results in various delays and hangs as mentioned in
issue 564. This patch does not fully solve that issue, however, it appears
we have additional bugs in that area.

Signed-off-by: Nadav Har'El <nyh@cloudius-systems.com>
Signed-off-by: Pekka Enberg <penberg@cloudius-systems.com>
Initialize shift state in keyboard driver

The "shift" variable was not initialized, and a random value there can lead us to believe
we're in shift or caps-lock mode, as reported in issue #564.

Signed-off-by: Nadav Har'El <nyh@cloudius-systems.com>
Signed-off-by: Pekka Enberg <penberg@cloudius-systems.com>