Enable --flatten, allowing using composites as an abstraction

Enable --flatten, allowing using composites as an abstraction.
This will only work with my own garbage-composite plugin version (from 2 days ago).

The flattened .adl should be dumped everytime in the output folder.

Note: We do NOT generate recursive composite data information in the C++ generated code, and no composite membrane, we only use composites as an abstraction and the resulting architecture is simplified with this "--flatten" call, moving all primitives in the top level and merging delegation bindings.