Introduce DeserializationComponents

Decouple components from the state present in contexts, get rid of duplication
of parameters in each context
Minor, rename field deserializer -> memberDeserializer
Minor, drop one of "withTypes" in favor of default arguments
Merge DeserializationGlobalContext with DeserializationComponents
1