Base JSON scheme generation

@roman-mazur just review it and say am I moving in the right direction, please
Use `TypeAdapter` interface instead. It allows using streaming mechanisms.