Gunmen kill 29 in Karachi as election held