upgrade to uglifyjs2
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 .mathquill('text') #hotfix #ImAnIdiot

Recommend --word-diff-regex='\w+|.' to view this diff.
Add test case for #164
Fix changelog v0.9.2 timestamp #typo
Revise CHANGELOG formatting

"version 0.9.2" and "Version 0.9.2" both look weird to me

2013-04-2 is inconsistent, changing to fixed-width format 2013-04-02

Don't refer to issue only by number, use short text description.

Use descriptive names for categories of changes.

List categories of changes in order from most outward-facing to least:
feature changes, bugfixes, internal refactors, build system changes

Make category-of-changes headings bold rather than list items, so they
stand out more while taking up less space.
v0.9.3
v0.9.3
Fix moveUpDown comment to say it seekHoriz-es #comment
Fix #213 up/down while something is selected erroring

Cursor::seekHoriz(), and prereq private offset() method to get pageX to
pass to seekHoriz, require cursor to be shown.
Show Textareas button selected with id not tag name

want other buttons!

(cherry picked from commit aec8ed02dae67bd14d907fd5720ef6c6dd73d536)
Make visual tests' "Show Textareas" way less hacky #test

Rather than swapping the CSS class of all textareas, and then having to
monkey-patch jQuery.fn.prepend so that when static math dynamically adds
textareas, their CSS class gets swapped too, just override the CSS of
textareas.
Fix #217 no Array::indexOf in IE<9, use RegExp::test

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

Thanks @eoghanmcilwaine
Fix selecting already selected static math

Only prepend textareaSpan if not already inserted, otherwise will detach
and re-attach, synchronously firing a blur event which in an immediately
subsequent event thread detaches the textareaSpan.

Deals with #216 for non-IE8; relies `return false` in mousedown handler
preventing textarea from being blurred, though, which apparently doesn't
work in IE<9.
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