Modify graph to put node into its layer in make-node, rather than later
Record the flattened version of a layer, without segment containers
Map nodes and edges in a layer to the items that are above or below them

The positioning algorithm requires us to quick get things in a layer based
on their neighbors. To that end, we seed the initial layer in the ordering
step with these values, and set them on other layers as we sweep through
the graph.
Add method to flip the neighbor mappings