ENH: Cleaner surface normal calculation

Working with the `vispy` folks we found an even faster way to accumulate normals. I should have known `numpy` had a fast way of doing it...