william rowan hamilton