More than 25 years since her first big break, Keira Knightley is one of Britain's few actresses that can successfully span cinema, period dramas and Christmas adverts.