introduces PHONE, TABLET and UNKNOWN static members for less redundancy
introduces method to ease building the user agent
extracts some params for less redundancy