docs: Update the README

We provide more types, now.
sphere: Allow passing NULL for the center initializer

We can use the zero() vec3 in that case.
box: Use vec3 instead of point3d

We use vec3 math internally, and converting back and forth between
coordinates and vectors is not nearly as nice as converting only at
specific entry points.

This requires some surgery for the static array of constant boxes, but
we can follow the same pattern used for the static array of constant
vectors we already have.
box: Add expand_scalar() method

We are going to use it inside graphene_sphere_t.
sphere: Add more utility functions