MPs have approved the European Union (Withdrawal) Bill by 324 votes to 295 - a majority of 29 - at third reading, during a marathon two-hour voting period.