Optimize _complete_surface_info()

On my machine, for `ico=5` , this is about 2.5x faster overall (97s to 38s), the most speedup comes from using lists:

- use lists instead of `array.append()`: 97s -> 47s
- unroll inner loop: 47s -> 38s

I'm not sure if it can be further optimized (please see this as a challenge ;) ).