Provide capability to add custom context information into Decoder/Encode...

Currently it's not possible to add any custom context information to either DecoderContext or EncoderContext (this might be needed for custom codecs). This is because both context lack the capability to add arbitrary information and the classes are final.

I've extended both contexts, so that it's possible to add custom context information.