CodecLM: Aligning Language Models with Tailored Synthetic Data