Added capabilities to get acceptable answer formats for a given input path (and refactored ItemRenderer API internals)

Summary:
We'll need to be able to pass down the acceptable answer formats for a given input box to
the mobile app, so I've added an API call for that. Right now it just returns a list of strings that
indicate answer types, but that's easy to sub in/out for whatever format we settle on client-side.
I also added a `_handleAPICall` function in `itemRenderer` to avoid the duplication of code that was
accumulating. Perhaps we want that to be the only client-facing function (right now, it just calls
`_handleAPICall` internally)?

Test Plan:
- Create a few inputs with different acceptable forms ([shortcut](http://localhost:9000/test.html#content=%7B%22question%22%3A%7B%22content%22%3A%22%5Cn%5Cn%5B%5B%E2%98%83%20numeric-input%201%5D%5D%5B%5B%E2%98%83%20input-number%201%5D%5D%22%2C%22images%22%3A%7B%22https%3A%2F%2Fka-perseus-graphie.s3.amazonaws.com%2Fda8df81c78b22f5c69d477d8eabfb583968eaf84.png%22%3A%7B%22width%22%3A400%2C%22height%22%3A70%7D%2C%22https%3A%2F%2Fka-perseus-graphie.s3.amazonaws.com%2Fb59fc02ca1aae800977b8793ed22f647a1aa75ee.png%22%3A%7B%22width%22%3A425%2C%22height%22%3A150%7D%7D%2C%22widgets%22%3A%7B%22numeric-input%201%22%3A%7B%22type%22%3A%22numeric-input%22%2C%22graded%22%3Atrue%2C%22options%22%3A%7B%22answers%22%3A%5B%7B%22value%22%3A12%2C%22status%22%3A%22correct%22%2C%22message%22%3A%22%22%2C%22simplify%22%3A%22required%22%2C%22answerForms%22%3A%5B%22proper%22%2C%22decimal%22%5D%2C%22strict%22%3Afalse%2C%22maxError%22%3Anull%7D%5D%2C%22size%22%3A%22normal%22%7D%2C%22version%22%3A%7B%22major%22%3A0%2C%22minor%22%3A0%7D%7D%2C%22input-number%201%22%3A%7B%22type%22%3A%22input-number%22%2C%22graded%22%3Atrue%2C%22options%22%3A%7B%22value%22%3A%220%22%2C%22simplify%22%3A%22required%22%2C%22size%22%3A%22normal%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%22type%22%3A%22multiple%22%2C%22options%22%3A%7B%22content%22%3A%22%22%2C%22images%22%3A%7B%7D%2C%22widgets%22%3A%7B%7D%7D%2C%22calculator%22%3Afalse%7D%2C%22itemDataVersion%22%3A%7B%22major%22%3A0%2C%22minor%22%3A1%7D%2C%22hints%22%3A%5B%5D%7D)).
- Run `itemRenderer.getAcceptableFormatsForInputPath(["numeric-input 1"]);` and `itemRenderer.getAcceptableFormatsForInputPath(["input-number 1"]);`
    - Verify that the output is a list of reasonable strings.
- To make sure the new API works, you can also try `itemRenderer.focsPath(itemRenderer.getInputPaths()[0]);`, etc., and verify that inputs turn red.

Reviewers: jack

Reviewed By: jack

Subscribers: mgp

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