Is this sufficient? Modernizr has a whole [slew of tests](http://modernizr.github.io/Modernizr/touch.html) it runs through.