Zero-hours workers earn nearly £300 a week less than permanent employees