 - Test script can be cleaned up quite a lot by using the match/no_match for 
   all boolean tests.
   (Robin Smidsrød - 2009-10-20)

 - Consider getting more UA strings from http://www.user-agents.org/.
   (Robin Smidsrød - 2009-10-20)

 - Browsers to add: Dolphin, Avant (need user agent examples for both),
   Cometbird, Chromium, Chromeframe, Crowsnest, Google page speed
   insights, GSA
   (Andrew Moise - 2015-02-26)

 - Update OS version detection and publicize the interface
     (Andrew Moise - 2015-03-08)

 - Test against other libraries (see http://neilb.org/reviews/user-agent.html)
    * HTML::ParseBrowser
    * HTTP::DetectUserAgent
    * HTTP::Headers::UserAgent (deprecated)
    * HTTP::MobileAgent (should absorb)
    * HTTP::UserAgentString::Parser (commercial)
    * Mobile::UserAgent (maybe should absorb)
    * Parse::HTTP::UserAgent
    * Woothee
    * HTTP::UA::Parser
    (Andrew Moise - 2015-03-15)

 - Standardize interface
  My perfect interface would be:
    * browser() - returns a machine readable browser ID
    * browser_string() - returns a human readable browser name
    * browser_version() - returns the version
    * os() - returns machine readable OS
    * os_string() - returns human readable OS
    * os_version() - returns the OS version
    * engine() - returns machine readable ID
    * engine_string() - returns human readable name
    * engine_version() - returns the engine version
    * device() - returns machine readable ID
    * device_string() - returns human readable name
    * robot() - returns machine readable ID
    * robot_string() - returns human readable name

  So the interface is consistent, no matter what we're examining. We
  have machine comparable names (similar to what's currently returned
  from device() ) with a strictly defined interface, but we also have
  human readable names where we have more flexibility. The version
  numbers also should all act the same and get queried the same (maybe
  by default, you get $major.$minor, but you can also pass an argument
  requesting a particular format, e.g. $major.$minor.$beta, or just
  the major number, or something).

(Andrew Moise - 2015-03-15)
