Command sending+response reading is now synchronized. This allows bochs to properly initialize both mouse and keyboard simultaneously. Also status register is checked EVERY time read/write to other IO ports is performed.
This is realtively simple driver that queries extensions (scroll + extra buttons) from mouse and reads mouse packages.