todo:
- -lpthread (BSD)
- Tab complete works by finding bin files even if for example its not the first command
ls[tab] vs ls [tab]
- Using arrow keys to traverse acts as an insert marker instead of a cursor
- Resizing window or adjusting font size results in the loss of text, should refresh text (somehow)
- New internal command: alias
- History stored persession instead of saving via file
- The "invalid command" message is currently useless