make Cursor::offset() a public method

because the various overrides of Node::seek(pageX, cursor) need access
to it
recursively delegate ::seek to each node

* removes Cursor::seekHoriz
* ::seek on MathBlock and MathCommand now measure each child rather
  than moving the cursor (supersedes and closes #154)
* Text::seek inlined ::seekHoriz