Change Decoder SPI.

It is now more consistent with the Extractor one (only for transform
streams instead of duplex streams). In particular, it gives more freedom
towards emitting warnings and errors (at the cost of a bit more
boilerplate code). Also improved relevant documentation.