feat: support unicode, modify font types so no big changes are needed
feat: add new font with variable width
docs: add code documentation
refactor: move gui elements to gui library
feat: add font utils