David Cameron: 'No moral equivalence' between Hamas and Israel