Correct misuse of std::unique, now will properly shade unique ids
Correct misuse of std::unique, now will properly shade unique ids

Previously we'd remove the repeated elements but std::unique shuffles
things forwards doing this and the new range w/ unique elements may be
shorter than the original. The new end of range iterator returned by
std::unique was being ignored and we'd iterate over the entire array,
shading the same material ids multiple times. This doesn't fix the AA
issue but does give a significant performance improvement.

Twinklebear/micro-packet,Twinklebear/micro-packet