Bugs/no shelf elements for children of alias nodes 61664576

Note, please, that this checkin includes a new 'lightweight-dom' component. This is intended to serve as a layer above lightweight-parser and allow us to remove parsing code from the UI layer. It will also replace dom-like calculations such as the code that builds paths, the code that checks for array children, and so on. In this initial phase, this dom is intentionally read-only.