Add Clues to TextInput

Summary:
This is a purposively non-compatible version of InputNumber with the intention that InputNumber will be replaced (backfilled) with this. Allows multiple correct and ungraded answers. Also allows a message to be conveyed to the user on a specific answer.

Other breaking changes
- changes the options json entirely from `options: {value: ..., simplify: ..., ...}` to `options: [{value: ..., status: ..., simplify: ..., ...}, {value: ..., status: ..., simplify: ..., ...}], size: ...`
- deletes `inexact` from the interface (a later diff will remove it from the backend) in favor of maxError.
- adds a `strict` toggle, which determines whether something is validated by allAnswerForms or by only specific selected ones

Test Plan:
(1) Write a bunch of correct / ungraded / wrong answers in no particular order
(2) Get the permalink and refresh, should now have ordered them correct > ungraded > wrong
(3) You can open [[http://localhost:9000/test.html#content=%7B%22question%22%3A%7B%22content%22%3A%22%5B%5B%E2%98%83%20text-input%201%5D%5D%22%2C%22widgets%22%3A%7B%22text-input%201%22%3A%7B%22type%22%3A%22text-input%22%2C%22graded%22%3Atrue%2C%22options%22%3A%7B%22answers%22%3A%5B%7B%22value%22%3A0.75%2C%22status%22%3A%22correct%22%2C%22message%22%3A%22Precisely%20%5C%223%2F4%5C%22%2C%20as%20a%20simplified%20fraction%20and%20nothing%20else%22%2C%22simplify%22%3A%22optional%22%2C%22answerForms%22%3A%5B%22proper%22%5D%2C%22strict%22%3Atrue%2C%22maxError%22%3Anull%7D%2C%7B%22value%22%3A1.75%2C%22status%22%3A%22correct%22%2C%22message%22%3A%22Only%20a%20mixed%20fraction%2C%20simplified%20or%20otherwise%20(i.e.%20%5C%221%206%2F8%5C%22)%22%2C%22simplify%22%3A%22required%22%2C%22answerForms%22%3A%5B%22mixed%22%5D%2C%22strict%22%3Atrue%2C%22maxError%22%3Anull%7D%2C%7B%22value%22%3A0.75%2C%22status%22%3A%22ungraded%22%2C%22message%22%3A%22Anything%20else%20that%20equates%20to%200.75%2C%20like%20%5C%226%2F8%5C%22%20or%20%5C%220.75%5C%22%22%2C%22simplify%22%3A%22accepted%22%2C%22answerForms%22%3A%5B%5D%2C%22strict%22%3Afalse%2C%22maxError%22%3Anull%7D%2C%7B%22value%22%3A1.75%2C%22status%22%3A%22ungraded%22%2C%22message%22%3A%22Only%20an%20improper%20fraction%20%5C%227%2F4%5C%22%2C%20simplified%20or%20otherwise%20(%5C%2214%2F8%5C%22)%22%2C%22simplify%22%3A%22accepted%22%2C%22answerForms%22%3A%5B%22improper%22%5D%2C%22strict%22%3Atrue%2C%22maxError%22%3Anull%7D%2C%7B%22value%22%3A42%2C%22status%22%3A%22wrong%22%2C%22message%22%3A%22We%20can%20have%20a%20max%20error%2C%20if%20that's%20helpful%22%2C%22simplify%22%3A%22required%22%2C%22answerForms%22%3A%5B%5D%2C%22strict%22%3Afalse%2C%22maxError%22%3A2%7D%2C%7B%22value%22%3A4.71238898038469%2C%22status%22%3A%22wrong%22%2C%22message%22%3A%22%5C%22pi%5C%22%20written%20as%20%CF%80%2C%20because%20it's%20cool%22%2C%22simplify%22%3A%22required%22%2C%22answerForms%22%3A%5B%5D%2C%22strict%22%3Afalse%2C%22maxError%22%3Anull%7D%5D%2C%22size%22%3A%22normal%22%7D%7D%7D%7D%2C%22answerArea%22%3A%7B%22type%22%3A%22multiple%22%2C%22options%22%3A%7B%22content%22%3A%22%22%2C%22widgets%22%3A%7B%7D%7D%2C%22calculator%22%3Afalse%7D%2C%22hints%22%3A%5B%5D%7D | this link on Perseus localhost:9000 (or change URI)]] or see the image:
{F15753}
(4) Make sure it verifies in the correct order: correct then ungraded then wrong
(5) See that the message comes through for anything it should come through for
{F15755}
(6) See that it recognizes "strict" answer formats 0.75 doesn't match 3/4 as a fraction
(7) See that it implements the unsimplified options "ungraded"/"accepted"/"wrong"
(8) See that it matches anything within the range [x - maxError, x + maxError]

Left to do:
- finish TODOs for fixing NumberInput
- validation to make sure the question writer didn't do something nonsensical
- consider changing NumberInput to update immediately if props.format changes
- make "pi" become π immediately or on blur
- write unit tests

Reviewers: eater

Subscribers: alpert

Differential Revision: http://phabricator.khanacademy.org/D7997

Rename text-input to numeric-input, delete extraneous css

Test Plan: make sure text-input doesn't work and numeric-input does
substate

Test Plan:
<see below>
Add statics

Test Plan:
<see below>