moved common emitter methods into EmitterBase; defined EmitterContext and MarshallerEmitter interfaces
split JSON marshaller codegen from Protobuf; remove unnecessary marshallers in the JSON version
minor style fixes
Merge pull request #244 from yjbanov/marshaller-opt

minor code reorg; remove unnecessary JSON marshallers