Keyboard buffer now circular

Keyboard's buffer had the ability to lose typed keys and return garbage.
A circular buffer is now used so garbage will never be returned.
When the buffer is full, the oldest key is discarded.