C++ implementation of ua-parser