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've been adding javadoc style comments to the top most portion of the file on the data model side.

We don't have to follow that particular format, but I definitely agree that having a per-file (or at the very least per-method or per-object) comment block with a high-level overview of what the module is supposed to do would be nice.