Language Models can Self-Lengthen to Generate Long Texts