My approach is to leave it to the device manufacturer/user and only use % based font sizing. CSS wise, for layout I then rely on % for horizontal spacing/positioning and em's for the verticals, which act as a kind of "em = line" system. Even though an em is rarely a line is a baseline sense, it makes cross-device design a lot more painless leaving the base unit to the device itself.
What you need to do is use a 'touchUpInside' event, there are a couple wwdc preso's that cover it. Basically you compare coords of a touchend event to the coords of the target. Touchend events fire instantly so you dont have to worry about the 300ms click delay. Dug this out of some old code, wont work out of the box but you get the gist. https://gist.github.com/3067704
Actually when I first tried TextMate, in the low 1.x versions, it felt like watching the grass grow between each character press and the glyph appearing on screen.
Probably a multi-ms delay due to regexes for syntax highlighting.
And TextMate is not designed like a standard OS X app, either.