WaterBench: Towards Holistic Evaluation of Watermarks for Large Language Models