Protojs

Completely removed any native dependencies and replaced with protobufjs. API is moreoless the same except for the fact that enums are not stringified automatically.