Boris Johnson has quit as an MP with immediate effect - and criticised Rishi Sunak in a blistering resignation letter.