The Liberal government's politically contentious new anti-hate bill has passed its final hurdle in the House of Commons and will now go to the Senate.