rewrite default base map layer handling. it remembers by name, rather than id (so will work if order changes), and also works if plugins add additional base layers