Input keyboard using interrupt
Factor out FIFO struct
Enable mouse interrupt
Add `X` directive for sprintf
Move mouse cursor
Split source files