[StackedPlot] - Stacking is done on each valid project call

Closes #897 
why do we do this even if we projected something irrelevant, like fill?
i think we should only re-stack if `attrToSet === "x" || attrToSet === "y"`