refactor: unify cursor functions
refactor: add option to clear display without render
feat: add option to run on x86 computer with sdl
feat: add possibility to write only to part of the display
feat: add image write to display
feat: add image direct write to display
feat: add image upscale using nearest-neighbor
feat: add image downscale using average
fix: image viewer function to display image
feat: check for errors when loading image
refactor: make move cursor handlers to one function
fix: logger add default switch case for log modes to prevent invalid memory access
fix: add check for errors to main function
fix: remove unused piece of nonblocking io code
refactor: add image viewer fields for better control
feat: add check for null display address for testing
fix: add missing include guards
feat: add image region move
feat: add image set and get pixel functions