CodeApex: A Bilingual Programming Evaluation Benchmark for Large Language Models