D implementation of ua-parser