Software rendering in 500 lines of bare C++ — Blankdot