Remove native code dependencies / move to protobufjs

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