Traverses the given AST node and its descendants depth-first order and calls the given callback function for each node.