Coproduct injective basis

Here it is, with tests of `c.embed.deembed == c`.

Fixes https://github.com/milessabin/shapeless/issues/253