Perturbing proteomes at single residue resolution using base editing