A tourist was shot dead at Teotihuacan, the ancient Mesoamerican city near Mexico City, in a shocking act of violence at a historic site.