Boris Johnson has offered what he called a "heartfelt apology" for attending a drinks party in the garden of Number Ten at the height of the first lockdown