EFI_SIMPLE_TEXT_INPUT_PROTOCOL.ReadKeyStroke() does return
with EFI_NOT_READY error if there is no pending keystroke.
And the same is true with
EFI_SIMPLE_TEXT_INPUT_PROTOCOL.ReadKeyStrokeEx().
12.2.3 EFI_SIMPLE_TEXT_INPUT_PROTOCOL.ReadKeyStrokeEx()
UEFI_Spec_Final_2.11.pdf, page 405
12.3.3 EFI_SIMPLE_TEXT_INPUT_PROTOCOL.ReadKeyStroke()
UEFI_Spec_Final_2.11.pdf, page 411
This means, we can use just those functions in efi_cons_poll(),
and if there was key stroke, record it in our local key buffer.