I have a few ideas for encouraging arrangements of definitions to have
more life in the sense of Christopher Alexander:
* quantize the x axis to discrete columns
* don't force a single grid; that can look boring. Each node occupies
600px of width, so quantizing at multiples of 100 gives us 6 possible
arrangements.
* always position new nodes within the current viewport
* always position new nodes at least some amount of padding above to
give the node above some room to grow
* forbid overlap
* moving a node against another should push the other node as well
* I want a node to yield some resistance, but I don't want resistance
to grow linearly by the number of nodes pushed