code: function preprocessNode(node, startingPreprocessorIndex) {
    var newNodes;
    for (var i = startingPreprocessorIndex || 0, j = this.nodePreProcessors.length; i < j; i++) {
      newNodes = this.nodePreProcessors[i].call(this, node, this);
      if (newNodes) { return newNodes; }
    }
    return;
  }
docs: Run the preprocessors on a given node
  @param  {HTMLElement} node The node to be modified/preprocessed.
  @return {Array<HTMLElement>}     An array of nodes.
  
  FIXME: This only lets one node preprocessor modify the nodes; more
  generically we want to be able to have a nested node->nodes for each
  preprocessor, eventually flattening a tree-like result.