Surface subgroups and subgroup separability in 3-manifold topology