heavily changed the interface of CConv, using visitor patterns
and simpler submodule names
updated example/all.ml to reflect the new API