Israel declares war on Hamas after hundreds killed on both sides