Christopher Hampton's great adaptation of this 18th-century classic triumphs, despite a poor performance from Dominic West.