Support module thinning and renaming Cabal-side.

NB: unlike GHC, Cabal will still try to find a globally consistent choice for
all package names, i.e. this does *not* implement private dependencies.

Signed-off-by: Edward Z. Yang <ezyang@cs.stanford.edu>
Comment will do. It actually indicates whether or not to dump all of the exported modules into scope, independent of renaming. So ModRenaming False [] means nothing is visible and ModRenaming True [] means everything is visible. The renamings then just add on to this.