Touch events

Adds a nice way to deal with only the touch events we care about:

    user(io.canvas)
    .on('tap', onTap)
    .on('hold', onHold)