Tools: DFG: Completely rework internal data format.

The new data format is now a series of flat lists, without recursion.
Restructure the code into several smaller classes, for better modularity
simpler code and better debug output.

At this stage only the AVR generator is adapted and works from reading
to merging, but is not yet able to correctly write the output.