Upon touchstart we need to trigger the pointerdown only for the new touch started, so we filter the list of touches we convert to arrays. It is valid to have multiple new touches start on the same touchstart (if you depress with two fingers at the same time). Other misc bug fixes.