This commit makes it possible to run LetkuOS on qemu as well. It seems bochs is more friendly with the hardware. Qemu still prints some garbage when bochs displays \t correctly. That, my friend, is another story.

for the keyboard, poll for input/output buffer empty/full where appropriate. Also, flush the input buffer before initializing IRQs
The keyboard init self test is now better in theory, but hasn't been tested in practise. The previous routine failed randomly with qemu but never with bochs.

For the ATA driver, IRQs are now disabled and the driver is purely polling based. This means there's more checks for BSY and DRQ.

In brief, we learned to follow hardware specs better. Qemu, thank you for the valuable lesson. Bochs, thank you for being such an allowing friend.