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.
We don't have a style guide, which is too bad, so we don't have a indentation recommendation (I was using 2 spaces in my proto).

Using 2 spaces here but 4 spaces elsewhere.