point can probably end up in illegal states right now due to just incrementing/checking point.column, when it needs to wrap at lines,
so there need to be functions to abstract trying to handle point motion linearly
Originally posted by @y-ack in #21 (comment)