Add smooth shading mode.

It's implemented via a separate geometry generation function. It's slightly
advanced and does vertex deduplication.