feat: add zooming to cursor
fix: movement within border underflow of unsigned integer
refactor: add image viewer fields for better control
feat: add basic image viewer loop