Adam,
I have never seem such a widget shared. But building one would be as simple as looping through all the maps graphicslayers and clearing each.
this.map.graphics.clear();
arrayUtils.map(this.map.graphicsLayerIds, lang.hitch(this, function(glid){
var lyr = this.map.getLayer(glid);
if(lyr instanceof FeatureLayer){
lyr.clearSelection();
} else {
this.map.getLayer(glid).clear();
}
}));