move duplicated binding generator visitor to it's own class

Resolves #1082.
I'd recommend something like AnnotatedByDefinitionModule