Ibn Tufayl's Hayy Ibn Yaqzan: A Philosophical Tale Translated with Introduction and Notes