Test: nodes and roots
Add scope.$.children, and keep track of child scopes to do this. scope.$.nodes now includes all child scope nodes.

Maintain references to parent / child scopes using the manager rather than the scope. That ought to work when the scope is replaced using the replace function.
Test: nodes with new includes child scope nodes and nodesLocal