Henry Cavill has played Superman, Sherlock Holmes and Geralt of Rivia, and his future roles may include a stint in Star Wars.