Avoid slow calls when updating StepsTranslator cache

unfilteredDomOffset is extremely slow under certain conditions, greatly
limiting the iteration speed. This patch eliminates all calls that would
trigger this slow call, improving iteration performance.

An additional advantage of this is that the adjusted logic now avoids
the somewhat messy logic that involved diving into the the container
and offset just in case the container's child was a paragraph as
well. By using isBeforeNode, the bookmark creator now knows that
the current node is fetched by getCurrentNode.
Bring API dox up to standard
Rename variables to improve code clarity
Start iteration after highest rejected parent in PositionIterator

New logic will move to the next accepted node after the highest
rejected parent rather than the lowest rejected parent.