David Tennant har spelat roller i: