Added support for logarithm and exponential asymptotes to <Grapher>
Added support for logarithm and exponential asymptotes to <Grapher>

Summary:
Grapher now allows plotting of (natural) logarithm, as well as placement of asymptotes for
exponential functions and logarithms. The implementation is a little messy because we're trying
to support the control of a whole new Graphie movable (i.e., movable line) in a way that's
sufficiently general; but in the end, it's not that much code, and hopefully reads easily enough.
Note that points can be moved across asymptotes (which reflects all other points across the line).

Test Plan:
- Run Perseus.
- Create a Grapher.
- Add exponential and logarithmic functions types ([shortcut](http://localhost:9000/test.html#content=%7B%22question%22%3A%7B%22content%22%3A%22%5Cn%5Cn%5B%5B%E2%98%83%20grapher%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%22grapher%201%22%3A%7B%22type%22%3A%22grapher%22%2C%22graded%22%3Atrue%2C%22options%22%3A%7B%22graph%22%3A%7B%22box%22%3A%5B340%2C340%5D%2C%22labels%22%3A%5B%22x%22%2C%22y%22%5D%2C%22range%22%3A%5B%5B-10%2C10%5D%2C%5B-10%2C10%5D%5D%2C%22step%22%3A%5B1%2C1%5D%2C%22backgroundImage%22%3A%7B%22url%22%3Anull%2C%22scale%22%3A1%2C%22bottom%22%3A0%2C%22left%22%3A0%7D%2C%22markings%22%3A%22graph%22%2C%22showProtractor%22%3Afalse%2C%22showRuler%22%3Afalse%2C%22rulerLabel%22%3A%22%22%2C%22rulerTicks%22%3A10%7D%2C%22correct%22%3A%7B%22type%22%3A%22exponential%22%2C%22coords%22%3Anull%2C%22asymptote%22%3Anull%7D%2C%22availableTypes%22%3A%5B%22exponential%22%2C%22logarithm%22%5D%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)).
- Try moving the asymptote for exponential.
    - Verify that it only goes above the points if you drag it above _all_ the points.
    - Verify that moving a point below it reflects all others across the asymptote.
    - Verify that grading works.
    - Verify that moving the asymptote side-to-side keeps it pinned at the x-min and x-max.
- Enable the logarithm function.
    - Verify that the interactions work as expected.
    - Verify that grading works.

Reviewers: aria

Reviewed By: aria

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

learningequality/perseus,chirilo/perseus,daukantas/perseus,sachgits/perseus,sachgits/perseus,ariabuckles/perseus,alexristich/perseus,chirilo/perseus,iamchenxin/perseus,ariabuckles/perseus,learningequality/perseus,abe4mvp/perseus,alexristich/perseus,abe4mvp/perseus,ariabuckles/perseus,daukantas/perseus,iamchenxin/perseus,ariabuckles/perseus