JavaScript - получить подробную информацию о браузере

В основном я ищу что-то, чтобы дать мне легкий доступ к такой информации, какuseragentstring.com, но в JS, без меня парсинг пользовательского агента и ищет каждый возможный бит текста. Объект может быть примерно таким:

browser      = UserAgent.Browser;                // Chrome
browserVer   = UserAgent.BrowserVersion;         // 5.0.342.9
os           = UserAgent.OperatingSystem;        // Windows NT
osVer        = UserAgent.OperatingSystemVersion; // 6.1
layoutEng    = UserAgent.LayoutEngine;           // WebKit
layoutEngVer = UserAgent.LayoutEngineVersion;    // 533.2

Существует ли что-то похожее на это, или я должен написать это сам? Написание еще одного парсера агента пользователя не кажется таким легким, когда все эти олицетворения восходят к темным временам в Интернете.

В частности, я ищу что-то, что не просто разделяет пользовательский агент на части и дает их мне, потому что это так же бесполезно, как и сам пользовательский агент; вместо этого он должен проанализировать пользовательский агент и распознать движок, браузер, ОС и т. д. и вернуть только конкретные части, как в примере.