Add thrift language support, closes #49