Build an abstraction of graphable data

The key interfaces are IGraph, IDescription and IGraphProvider. Each
graph is associated with a description.