Make keyboard:Update() framerate independent

This makes sure that the keyboard has approximately the same timeout with
different frame rates