Added support for mobile device detection in the Route

Extended the UrlMatcher to make our own RouteMatcher class which checks
any context parameters against the options in the route. This means you
can add an option to the route, eg: device: phone and the route will
match for all phones.
Updated Tests and Refactoring

Two new tests to test the Device type routing
Moved \Mobile_Detect code into Router