Rare kaon decays and CP violation