Text this: Identifying protein-coding genes and synonymous constraint elements using phylogenetic codon models