Avoid propagating touch-end events to zoomable children
Avoid propagating touch-end events to zoomable children

Summary:
In D27970, we modified the `Zoomable` component such that it would capture any touch-start events
that occurred while it was unzoomed. However, the DOM's event model doesn't prevent the
corresponding touch-end from being propagated downward, even if the touch-start is captured.

The specific case in which this was erroring was that in which an input was nested within a
zoomable table. In the input component, we make the assumption, when handling a touch-end, that we
first saw a touch-start (specifically, we reposition the cursor on touch-end, and assume that the
cursor was made visibile via touch-start). When the component was nested, tapping on it would
trigger a touch-end but no touch-start, causing a `null` error. This error didn't break web but
would kick users out of exercises on mobile.

Test Plan:
- Open up a table with a nested input ([link](http://localhost:9000/#content=%7B%22question%22%3A%7B%22content%22%3A%22%2A%2ACount%20the%20mice.%2A%2A%5Cn%5Cn%2A%2AType%20the%20missing%20numbers%20in%20the%20boxes.%2A%2A%5Cn%5Cn%21%5B%5D%28https%3A%2F%2Fka-perseus-graphie.s3.amazonaws.com%2F091be90c14102988059b4e2e13a14a897b629f83.png%29%20%7C%20%21%5B%5D%28https%3A%2F%2Fka-perseus-graphie.s3.amazonaws.com%2F091be90c14102988059b4e2e13a14a897b629f83.png%29%20%7C%20%21%5B%5D%28https%3A%2F%2Fka-perseus-graphie.s3.amazonaws.com%2F091be90c14102988059b4e2e13a14a897b629f83.png%29%20%7C%20%21%5B%5D%28https%3A%2F%2Fka-perseus-graphie.s3.amazonaws.com%2F091be90c14102988059b4e2e13a14a897b629f83.png%29%20%7C%20%21%5B%5D%28https%3A%2F%2Fka-perseus-graphie.s3.amazonaws.com%2F091be90c14102988059b4e2e13a14a897b629f83.png%29%20%7C%20%21%5B%5D%28https%3A%2F%2Fka-perseus-graphie.s3.amazonaws.com%2F091be90c14102988059b4e2e13a14a897b629f83.png%29%5Cn%3A-%3A%20%7C%20%3A-%3A%20%7C%20%3A-%3A%20%7C%20%3A-%3A%20%7C%20%3A-%3A%20%7C%20%3A-%3A%5Cn%241%24%20%7C%20%242%24%20%7C%20%5B%5B%E2%98%83%20input-number%203%5D%5D%20%20%7C%20%244%24%20%7C%20%5B%5B%E2%98%83%20input-number%205%5D%5D%20%20%7C%20%20%20%246%24%22%2C%22images%22%3A%7B%22https%3A%2F%2Fka-perseus-graphie.s3.amazonaws.com%2F091be90c14102988059b4e2e13a14a897b629f83.png%22%3A%7B%22width%22%3A50%2C%22height%22%3A50%7D%7D%2C%22widgets%22%3A%7B%22input-number%203%22%3A%7B%22type%22%3A%22input-number%22%2C%22alignment%22%3A%22default%22%2C%22static%22%3Afalse%2C%22graded%22%3Atrue%2C%22options%22%3A%7B%22value%22%3A3%2C%22simplify%22%3A%22optional%22%2C%22size%22%3A%22small%22%2C%22inexact%22%3Afalse%2C%22maxError%22%3A0.1%2C%22answerType%22%3A%22number%22%7D%2C%22version%22%3A%7B%22major%22%3A0%2C%22minor%22%3A0%7D%7D%2C%22input-number%205%22%3A%7B%22type%22%3A%22input-number%22%2C%22alignment%22%3A%22default%22%2C%22static%22%3Afalse%2C%22graded%22%3Atrue%2C%22options%22%3A%7B%22value%22%3A5%2C%22simplify%22%3A%22optional%22%2C%22size%22%3A%22small%22%2C%22inexact%22%3Afalse%2C%22maxError%22%3A0.1%2C%22answerType%22%3A%22number%22%7D%2C%22version%22%3A%7B%22major%22%3A0%2C%22minor%22%3A0%7D%7D%7D%7D%2C%22answerArea%22%3A%7B%22calculator%22%3Afalse%2C%22chi2Table%22%3Afalse%2C%22periodicTable%22%3Afalse%2C%22tTable%22%3Afalse%2C%22zTable%22%3Afalse%7D%2C%22itemDataVersion%22%3A%7B%22major%22%3A0%2C%22minor%22%3A1%7D%2C%22hints%22%3A%5B%7B%22replace%22%3Afalse%2C%22content%22%3A%22%21%5B%5D%28https%3A%2F%2Fka-perseus-graphie.s3.amazonaws.com%2F091be90c14102988059b4e2e13a14a897b629f83.png%29%20%7C%20%21%5B%5D%28https%3A%2F%2Fka-perseus-graphie.s3.amazonaws.com%2F091be90c14102988059b4e2e13a14a897b629f83.png%29%20%7C%20%21%5B%5D%28https%3A%2F%2Fka-perseus-graphie.s3.amazonaws.com%2F091be90c14102988059b4e2e13a14a897b629f83.png%29%20%7C%20%21%5B%5D%28https%3A%2F%2Fka-perseus-graphie.s3.amazonaws.com%2F091be90c14102988059b4e2e13a14a897b629f83.png%29%20%7C%20%21%5B%5D%28https%3A%2F%2Fka-perseus-graphie.s3.amazonaws.com%2F091be90c14102988059b4e2e13a14a897b629f83.png%29%20%7C%20%21%5B%5D%28https%3A%2F%2Fka-perseus-graphie.s3.amazonaws.com%2F091be90c14102988059b4e2e13a14a897b629f83.png%29%5Cn%3A-%3A%20%7C%20%3A-%3A%20%7C%20%3A-%3A%20%7C%20%3A-%3A%20%7C%20%3A-%3A%20%7C%20%3A-%3A%5Cn%241%24%20%7C%20%242%24%20%7C%20%24%5C%5Cblue%7B3%7D%24%20%7C%20%244%24%20%7C%20%24%5C%5Cblue%7B%5C%5CBox%7D%24%7C%246%24%5Cn%22%2C%22images%22%3A%7B%22https%3A%2F%2Fka-perseus-graphie.s3.amazonaws.com%2F091be90c14102988059b4e2e13a14a897b629f83.png%22%3A%7B%22width%22%3A50%2C%22height%22%3A50%7D%7D%2C%22widgets%22%3A%7B%7D%7D%2C%7B%22replace%22%3Afalse%2C%22content%22%3A%22%21%5B%5D%28https%3A%2F%2Fka-perseus-graphie.s3.amazonaws.com%2F091be90c14102988059b4e2e13a14a897b629f83.png%29%20%7C%20%21%5B%5D%28https%3A%2F%2Fka-perseus-graphie.s3.amazonaws.com%2F091be90c14102988059b4e2e13a14a897b629f83.png%29%20%7C%20%21%5B%5D%28https%3A%2F%2Fka-perseus-graphie.s3.amazonaws.com%2F091be90c14102988059b4e2e13a14a897b629f83.png%29%20%7C%20%21%5B%5D%28https%3A%2F%2Fka-perseus-graphie.s3.amazonaws.com%2F091be90c14102988059b4e2e13a14a897b629f83.png%29%20%7C%20%21%5B%5D%28https%3A%2F%2Fka-perseus-graphie.s3.amazonaws.com%2F091be90c14102988059b4e2e13a14a897b629f83.png%29%20%7C%20%21%5B%5D%28https%3A%2F%2Fka-perseus-graphie.s3.amazonaws.com%2F091be90c14102988059b4e2e13a14a897b629f83.png%29%5Cn%3A-%3A%20%7C%20%3A-%3A%20%7C%20%3A-%3A%20%7C%20%3A-%3A%20%7C%20%3A-%3A%20%7C%20%3A-%3A%5Cn%241%24%7C%20%242%24%20%7C%20%24%5C%5Cblue%7B3%7D%24%20%7C%20%244%24%20%7C%20%24%5C%5Cblue%7B5%7D%24%20%7C%20%246%24%22%2C%22images%22%3A%7B%22https%3A%2F%2Fka-perseus-graphie.s3.amazonaws.com%2F091be90c14102988059b4e2e13a14a897b629f83.png%22%3A%7B%22width%22%3A50%2C%22height%22%3A50%7D%7D%2C%22widgets%22%3A%7B%7D%7D%5D%7D)).
- Tap on the input.
    - Verify that the table zooms, and the input doesn't focus.
- Tap on the input again.
    - Verify that the input focuses (and the table unzooms... sob).
- Add some math.
- Blur the input, unzoom the table.
- Tap on the input.
    - Verify that the table zooms, the input doesn't focus, and there are no console errors.

Reviewers: shadaj, kevinb

Reviewed By: kevinb

Subscribers: benkomalo, jared

Differential Revision: https://phabricator.khanacademy.org/D29260

ariabuckles/perseus,ariabuckles/perseus,ariabuckles/perseus,ariabuckles/perseus,learningequality/perseus,learningequality/perseus