More than half of households - or 35 million people - received more in benefits than they paid in taxes last year according to official figures.