Quasi-synchronization of heterogeneous dynamic networks via distributed impulsive control: Error estimation, optimization and design