Shadowcast: Stealthy Data Poisoning Attacks against Vision-Language Models