Support for quick-toggling of next mark on line and fix for mark exhaustion handling

 - Added support for `m.`: if no mark on line, place next mark; if mark(s) on line, remove first one
 - Mark exhaustion was not handled correctly: list should be checked to see if empty before trying to index element