MathCoder-VL: Bridging Vision and Code for Enhanced Multimodal Mathematical Reasoning