implement AG run on hybrid graph representation

I implemented a variant of runAGGraph that works on a hybrid
representation of graphs as suggested in the paper, namely 'Graph (Free
f)'.
implement benchmark for hybrid graph representation

I copied the benchmarks for the standard representation and changed them
such that they use the hybrid representation.

Results:

- only slight reduction of the overhead in the case of no
  sharing (vs. Tree)

- additional overhead in the case of sharing (vs. Graph)
remove unnecessary imports