Specify Custom Groups

Hi Gerald

I extended the code that groups objects by their top-level module name to let you specify additional groups. This has been refactored into a new module. For large projects this increases the clarity of the generated graph by breaking up a potentially giant box into smaller ones. This hopefully implements issue https://github.com/gak/pycallgraph/issues/121.

In this implementation, the user has to specify which objects (described by unix patterns like in the GlobbingFilter module) should get their own group. My opinion is that this is more customizable than say, list modules that should be broken down another level. If you prefer the latter though, I would not be averse to changing it.

An example is included.