Add protobuf protocol support

Fixes #6