function setFirstScatter(fullLayout, trace) {
    var group = firstScatterGroup(trace);
    var firstScatter = fullLayout._firstScatter;
    if(!firstScatter[group]) firstScatter[group] = trace.uid;
}
mark the first scatter trace for each subplot
note that scatter and scattergl each get their own first trace
note also that I'm doing this during calc rather than supplyDefaults
so I don't need to worry about transforms, but if we ever do
per-trace calc this will get confused.