these points are to be reached in order:
- pit timer
- vfs
- initrd
- better kb driver keymap
- kernel arg parser
- file descriptors and sys_read, sys_write, sys_open, sys_close syscalls
- make text_console an char_output_driver and use it for printf and serial for debugf
- make abortf
- first userspace shell
- better ps2 keyboard driver
- add malloc / free to libc
- add files to libc
- add assert to libc
- add spawn syscall and proc_info (add pids) syscall and yield syscall and argv/envp
- make real shell with subprocesses aka programs
- pci
- acpi
- shutdown / reboot
- ahci driver
- gpt driver
- mbr driver
- fat32 driver
- clock driver