Assembly constraints drive co-evolution among ribosomal constituents