DeviceDetection improvements

* Add a method to detect if user agent is mobile for folks who don't
  have infrastructure as complex as ours, based on current Squid ACLs.
  So far it's not used
* Switch all device capabilities querying to OOP interface
* Use DeviceDetection::factory() which allows to override our device detection
* Refactoring

Change-Id: Ifcd7c34572c6864978d55e775298bae91b64fbb6