From exploring the charming streets and medieval towers to immersing yourself in the town's rich history, here are the best things to do in San Gimignano, Italy