Move \int down among misc. symbols

Instead of at the top of symbols.js
Reorder LatexCmds/CharCmds registration for \prime #cosmetic
Fix LaTeX parsing of '

http://mathb.in/16257

It just being on CharCmds was a total mistake, it's a real LaTeX
command, we output &prime; as ', obviously we should parse ' as &prime;.

Technically in LaTeX it's a macro for ^\prime, so we shouldn't parse
\prime as being the same, but &prime; looks more like ^\prime (slash '),
so for now, just parse \prime wrong.
Move non-backslash-instantiated commands to top

...of symbols.js

(i.e. commands that can be typed without LatexCommandInput)
Add dollar sign symbol \$

Adds support for parsing \$; also makes it so that without
CharCmds.$ = TextBlock, typing $ will default to typing the
dollar sign symbol, \$.
Move VanillaSymbol and BinaryOperator to math.js

...next to Symbol, from symbols.js, because about to split up basic and
advanced symbols, but both depend on VanillaSymbol and BinaryOperator.
Split up symbols.js into {basic,advanced}Symbols.js
Separate out LatexCommandInput from commands.js

The rest of commands.js comes up in basic mathematics.
Merge branch 'api.no-auto-mathquill-ify' into feature.basic

So that test/visual.html can include both full and basic MathQuill
without them clashing
Fix empty math fields 0 width and height when created

Because the root block has .mq-hasCursor and no .mq-empty, because the
cursor is hidden but the root block wasn't blurred:
https://github.com/mathquill/mathquill/commit/a09f88f63617e05d6189889debceff4152aa36eb#commitcomment-6327135
Fix forgot to make new phony make targets .PHONYs
`make basic` builds mathquill-basic{,.min}.js

...which omit LatexCommandInput.js, advancedSymbols.js, and text.js.

Also, `make test` builds mathquill-basic.js too, so that unit.html can
include it and publicapi.test.js can unit-test it, and so that
visual.html can include it.

In basicSymbols.js, right after setting `LatexCmds.backslash`,
CharCmds['\\'] defaults to LatexCmds.backslash if LatexCommandInput.js
is omitted. (Note that the order of LatexCommandInput.js vs
basicSymbols.js when concatenated doesn't matter; even if basicSymbols.js
is first, LatexCommandInput.js just overwrites CharCmds['\\'].)

Closes #290, which is about configuring typing \ to insert \backslash.
Closes #306, which is about separating out commands that can only be
typed with LatexCommandInput; now separated as advancedSymbols.js.
Fix append element to #mock but don't rm it #test

https://github.com/mathquill/mathquill/commit/8fd3b2de#commitcomment-6495760
Fix .cmd() ReferenceError; rm Cursor::insertCmd

Cursor::insertCmd is used by LatexCommandInput::renderCommand and by
EditableField::cmd (the public API). MathQuill-basic doesn't have
TextBlock's, so passing .cmd() an unrecognized LaTeX command actually
causes a ReferenceError right now, but that is the only place that still
references TextBlock, and only in that edge case, so we still def don't
want TextBlock in MathQuill-basic.

So what I do is say, those uses of Cursor::insertCmd should never have
been unified, inline it as-is into LatexCommandInput::renderCommand and
inline the non-TextBlock part into EditableField::cmd (instead, when
passed an unrecognized backslash command, noop, which is at least
consistent-ish with .latex() (which empties the MathQuill if unable to
parse the LaTeX), though proper error reporting would be nice).

I actually really don't like the unknown-backslash-commands-are-turned-
into-TextBlock's behavior (like \asdf turns into \text{asdf}, which I'm
leaving in LatexCommandInput::renderCommand), that's weird and I want to
get rid of it eventually, but what I want to do instead is force the
cursor to stay in the LatexCommandInput and I haven't really thought
through how to do that and it shouldn't matter for now.

Also, unit test all the new behavior, normal and error conditions; there
were basically no unit tests for the old behavior.
Fix LiveFraction referencing TextBlock in MQ-basic

...and throwing a ReferenceError just for typing '/'.

Instead, `instanceof TextBlock` should just silently fail if there's no
TextBlock, because then a node couldn't possibly be an instance of it.

(I was amazed to learn that `instanceof undefined` errors, I totally
thought it fails silently, apparently instanceof anything that's not a
function errors, so just `|| noop`.)

Also added a MathQuill-basic section to the LiveFraction test.

Recommend -w to view diff.
Move {Math,Text}Field out of publicapi.js

...to {math,text}.js, respectively.

This way, rather than MathQuill-basic having an undocumented
MathQuill.TextField that ReferenceError's when called (since
RootTextBlock isn't defined), it doesn't have MathQuill.TextField
at all.

There is now no reference to TextBlock or RootTextBlock whatsoever in
MathQuill-basic.
MathQuill-basic links to smaller Symbola-basic font

Font is linked by stylesheet, so now can't share stylesheet with full
MathQuill, `make basic` now has to build a totally separate stylesheet
mathquill-basic.css, by having font.less choose what font file to
reference based on a compile-time parameter.

Since `make basic` now builds minified JS + CSS + fonts, it's really
more like `make all` than like `make js`, so move it next to `all`.

Less doesn't actually have compile-time parameters, but you can set
variable values with --modify-var [1] (equivalent to putting appending
a variable declaration to the base file, and variables are lazy-loaded
so the last declaration is the one used [2]), then use a conditional
mixin to choose what font file to reference [3]. --modify-var was
released in v1.5.1 [4], so set that to the required version of Less
(was originally edge to fix some bug [5] but that was pre-1.3, should
be fixed by now).

[1]: http://lesscss.org/usage/#command-line-usage-modify-variable
[2]: http://lesscss.org/features/#variables-feature-lazy-loading
[3]: http://lesscss.org/features/#mixin-guards-feature-conditional-mixins
[4]: https://github.com/less/less.js/commit/daec7dff1c5d533bfaaee5315aa20c9bf56f1873
[5]: https://github.com/mathquill/mathquill/commit/411a37641fbcddd5c73268863dc49a53124189a5#commitcomment-6589168

Only add and reference .eot and .ttf files for now, even though for full
Symbola we currently have .eot, .ttf, .otf, .woff, *and* .svg files.
Desmos only has .eot, .ttf, and .woff files (presumably because .ttf and
.otf have the same browser support [6] and only old Opera and old iOS
Safari need SVG instead [7]), but all user agents that support .woff [8]
also support .ttf (which isn't true the other way around!), so, should
be fine. In fact, I probably actually want to trim some of the redundant
full Symbola font formats, but I'm putting that off for now, we'll fix
that when we fix our outdated @font-face syntax [9].

[6]: http://caniuse.com/tff
[7]: http://caniuse.com/svg-fonts
[8]: http://caniuse.com/woff
[9]: Currently using "the local reference" http://www.paulirish.com/2009/bulletproof-font-face-implementation-syntax/

In both full MathQuill and MathQuill-basic the @font-face font name (as
opposed to font filename) is just "Symbola", wouldn't want to have to
change the @symbola etc variables too, but that means there has to be a
separate test page for MathQuill-basic where the full Symbola font isn't
loaded, to check that the Symbola-basic font files load correctly.
Mention `make basic` in README #docs
`make test` builds mathquill-basic.css too, oops

To test on test/basic.html
Mention mathquill-basic.min.js in README #typo