Turning @tschaub's FeatureAgent into an event extension.

See http://trac.osgeo.org/openlayers/browser/sandbox/tschaub/select/lib/OpenLayers/FeatureAgent.js. Tests are still missing, but this already works on mobile devices and with Canvas layers. Another possible task would be to make the SelectFeature control use this instead of the Feature handler - then we could get rid of the RootContainer layer for multiple layer selection.
Move some touch logic to the `handler` base class.
Fix github issue 267 GPX: handling of desc attribute.
Fix http://trac.osgeo.org/openlayers/ticket/3554

Finally using Util.isElement and nothing else for cross-platform
compatibility according to elemoine's comments.

Tested on Chromium 18 Ubuntu 12.04.
8 tests fail (detailed: fail 9). List follows.

23:13:26 test_respectZoom: Google tests can't be run from localhost:8000
23:14:22 test_write_wmc_Layer: Safari has wierd behavior with getElementsByTagNameNS: the result is that we can't run these tests there. Patches welcome.
23:16:15 test_Layer_Google_constructor: Google tests can't be run from localhost:8000
23:16:15 test_clone: Google tests can't be run from localhost:8000
23:16:15 test_Layer_Google_isBaseLayer: Google tests can't be run from localhost:8000
23:16:15 test_Layer_Google_Translation_lonlat: Google tests can't be run from localhost:8000
23:16:15 test_Layer_Google_Translation_pixel: Google tests can't be run from localhost:8000
23:16:15 test_Layer_destroy: Google tests can't be run from localhost:8000
23:16:15 test_Layer_Goole_forwardMercator: Google tests can't be run from localhost:8000
23:16:15 test_Layer_Google_overlay: Google tests can't be run from localhost:8000
23:16:15 test_Layer_Google_isBaseLayer: Google tests can't be run from localhost:8000
23:16:15 test_Layer_Google_setGMapVisibility: Google tests can't be run from localhost:8000
23:20:13 test_Layer_MapServer_Reproject: Can't test google reprojection in Opera or Safari.
23:20:18 test_Layer_WMS_Reproject: Can't test google reprojection in Opera or Safari.
Avoid breaking the "OpenLayers.String.format" execution when searching for an attribute in an undefined object.
don't try to update the matrix in setMap since it's too early and done later in moveTo
add index to details
#2938: [patch] Comparason type like with null (property not present)
#2940 Add relations support for OSM format
#2940 add shared
add indexDistance to LineString distanceTo Point
don't sort
rm loop brake
add version
rm end white space
Adding unit tests.
Better mousewheel/touchpad behavior for zooming

The navigation control gets better defaults, and the MouseWheel handler
gets a new maxDelta option, which can be used to avoid huge zoom level
jumps on heavy wheel/pad movements.
Use translate3d and translate where available.
Turn on GPU support for all children of the layerContainerDiv

This seems to remove all kinds of flicker and jumpiness, and to me it feels
also like it makes panning on slow mobile devices smoother.
Adding docs, removing console.log