FRESCo: finding regions of excess synonymous constraint in diverse viruses