code: function normalize(point){
          while (point.node.nodeType != 3 && !isBR(point.node)) {
            var newNode = point.node.childNodes[point.offset] || point.node.nextSibling;
            point.offset = 0;
            while (!newNode && point.node.parentNode) {
              point.node = point.node.parentNode;
              newNode = point.node.nextSibling;
            }
            point.node = newNode;
            if (!newNode)
              break;
          }
        }
docs: We want the nodes right at the cursor, not one of their ancestors with a suitable offset. This goes down the DOM tree until a 'leaf' is reached (or is it *up* the DOM tree?).