Add GraphInput for graph IO handling.

There is no reference of any IO in Graph, because that would
cause cyclic dependency issues. So we shall get an instance
at the top level (pretty much like ComputationUnit).
Add a first choice for a GraphInput