Heegaard Splitting of 3-manifolds: a Survey