React prototype

This is a branch that creates a view with React components. The App component contains an AST editor and a Graph component. A Graph component receives a dummy model (a simple wrapper around an AST) and renders a set of Node components. A Node component is a rectangle of a constant size and a given position. Dragging a Node element changes the node's position in the model. That change causes the view to re-render from the App component down.
I agree with you in that ideally, the view doesn't look at the AST. I'm picking through a JSON object to avoid having to write a model myself. Later, when a model exists, the view will ask the model for properties rather than picking through JSON for them.