wrap in define call
disable automatic processing of 'mathquill-' class elements
Add systemKeyboard property: determines whether to use textarea or focusable span.
Support writing to editable area (cache lastCursorId)
allow backspace & cursor "soft key" commands without direct keyboard input
add comments
remove reference to window.jQuery - jQuery is provided as define argument
Check that the cursor object has reference to an actual DOM element
in its moveUpDown method.

This is due to a bug observed when calling cursor.moveDown via the softkey
command.

Using the touch device / keyboard interface (so cursor commands are
called programmatically):
- Create a new fraction in the editor
- Press a number to add as numerator (top part)
- Attempt to moveDown (clicking soft keyboard down key) to the denominator (bottom part).
Make auto-npm install's when package.json changes

Using empty target trick (see comment)
Make creates build/ if not there, rm from git

Same empty target trick as parent commit
README now says just need to install Node and make
Fix #217 no Array::indexOf in IE<9, use RegExp::test

http://kangax.github.io/es5-compat-table/#Array.prototype.indexOf

Thanks @eoghanmcilwaine
Allow single spaces to break a number before adding fraction.
Upgrade from v0.9.2 to v0.9.3
Merge branch 'master' into develop
Add superscriptempty and subscriptempty latex commands
Expose read-only list of latex commands
Reorg test_server to use then define callback fn #cosmetic
Swap order of requires vs reading env variables #cosmetic

Puts env variables closer to where they're used
`make server` auto-rebuilds without restarting server

Before, the `test` make target was a dependency of running the server
and node-supervisor killed and re-ran `make run-server` whenever any
source files changed, so the server would be down while `make test` ran
and you had to keep Refreshing until `make test` finished and the server
came back up.

Now, we still re-run `make test` whenever source (or test) files change,
but the server never goes down, it just puts all incoming HTTP requests
on hold until `make test` finishes.

This way, as soon as you write a change to disk you can switch to Chrome
and Refresh just once, and it'll take as long as it takes `make test` to
complete for the page to load, rather than the connection being refused
because the server isn't running so making you keep Refreshing until the
server comes back up.

node-supervisor apparently defaults to fs.watchFile rather than
fs.watch[1], but the fs.watchFile docs[2] specifically recommend
fs.watch[3] instead. As a bonus, node-supervisor apparently only watches
individual files, the list of which is determined when launched[4], so
if new source files were added then `make server` would have to be
killed and re-run, whereas we now watch the entire src/ and test/
directories.

[1]: https://github.com/isaacs/node-supervisor/blob/v0.5.6/lib/supervisor.js#L285-L288
[2]: http://nodejs.org/docs/v0.10.22/api/fs.html#fs_fs_watchfile_filename_options_listener
[3]: http://nodejs.org/docs/v0.10.22/api/fs.html#fs_fs_watch_filename_options_listener
[4]: https://github.com/isaacs/node-supervisor/blob/v0.5.6/lib/supervisor.js#L144

Also, one less dependency!
Factor out enqueueOrDo in test_server.js #cosmetic

Principle: One-letter variables like `q` only allowed in very localized
scopes where a longer descriptive name would get in the way; variables
used in widely separated places must have long descriptive names
(especially and for example, function names)

Bonus: Reduce duplication of how to serve request