libgsm: split init and close fuctions for encoder and decoder.

The decoder shouldn't be allocating coded_frame. It's also cleaner to split
them than to check avctx->codec->encode and avctx->codec->decode.
