Expose primitive type through create_mesh

It turns out rendering with a different type of primitive is a bit more complicated than I would have liked, so I propose this.

From the message of the second commit:
> I think rendering different primitive types is common enough to justify
adding this argument to create_mesh. This has the added benefit of
clearly showing users that learn from the examples how the primitive
type can be set.