Render expressions like 1/3 * 6/8 nicely

Summary:
Previously, "1/3 * 6/8" would be displayed as

`\frac{\frac{1}{3} \cdot 6}{8}`

this commit makes it render as

`\frac{1}{3} \cdot \frac{6}{8}`.

A consequence of this is that expressions like `1*2*3/4` now render as
`1*2*(3/4)`.

Also fixes a bug caused by a misuse of splice.

Test Plan:
  * Open test.html
  * Verify all tests pass.

Reviewers: alex

Reviewed By: alex

Differential Revision: http://phabricator.khanacademy.org/D6027
Add task to Gruntfile to build parser

Summary:
As it is it's not too difficult to just run `node
src/parser-generator.js`, but I thought it would be nice to have both
build tasks in the same file just so it would be easier for anyone else
to figure out how to build the parser.

Also added some quick instructions on how to build it in the README.

Test Plan:
  * Make some change to the parser generator
  * Run `grunt parser`
  * See your changes have been compiled into parser.js

Reviewers: alex

Reviewed By: alex

Differential Revision: http://phabricator.khanacademy.org/D6046
Add page to experiment with parsing

Summary:
I added this to be able to test parsing things easily, but I thought it
might be useful to include it in the repo, like the one KaTeX has (which
I took a couple things from).

It outputs a couple useful pieces of parsed info:

* the AST
* the printed representation (print())
* the TeX (until it's removed)
* whether the expression is considered simplified
* the simplified form of the expression
* the JSON representing the parsed info (useful for seeing hints and
  other things)

Test Plan:
  * Run a local server and open /experimenter.html
  * See the info show up as you type an expression

Reviewers: alex

Reviewed By: alex

Differential Revision: http://phabricator.khanacademy.org/D6049
Added .arcconfig file
jslint
Merge pull request #6 from mauk81/jslint

jslint
Build

Auditors: alex
Change method of calculating difference

Summary:
Previously, `3^-x` and `(1/3)^x` were considered equivalent. This was
caused by the difference between the numbers being quite large for
certain values of x. This commit changes the method of calculating the
delta so it is calculated relatively instead of absolutely, and also
adds some negative test cases to make sure this isn't too lenient as
well.

Test Plan:
* Open test.html
* See all tests pass!

Reviewers: alex

Reviewed By: alex

Differential Revision: http://phabricator.khanacademy.org/D6324
Add support for non-'.' decimal separators

Summary:
This is a bit hacky, but should at least help us grade international
answers correctly, although they will render back to the student
with '.'s

Test Plan: Use in perseus expression widget

Reviewers: alex

Reviewed By: alex

CC: justinjaffray

Differential Revision: http://phabricator.khanacademy.org/D6438
Add MIT License

Auditors: jack, eater
add qunit-phantomjs-runner
add .travis.yml