A port of the useragent parser used by browserscope.org to ruby