SKIL: Semantic Keypoint Imitation Learning for Generalizable Data-efficient Manipulation