Fix a number of issues with talkie playback.

Summary:
This fixes a number of issues with taklie playback. Specifically:

- Scrubbing flashed hotnumber changes aggressively.
- Hitting play after seek:
  - The code reset back to its original state
  - The canvas drawing would get erased
- During seek:
  - Drawing would constantly be overwritten (line gets thicker)

Remove some test code.

Test Plan: I've added in a new audio demo that we can use to manually test playback. Attempt to play through the talkie and manually scrub around, making sure everything is working as expected.

Reviewers: brian, pamela

Reviewed By: pamela

Subscribers: alexrodrigues, #cs

Differential Revision: http://phabricator.khanacademy.org/D13672
Detect and send page info event which sends html title

Test Plan:
- Sets an event which is fired to the parent window when new
page info is obtained. Currently only title is supported.

Reviewers: pamela, john

Subscribers: #cs

Maniphest Tasks: T3238

Differential Revision: http://phabricator.khanacademy.org/D13600
Bring in multirecorder fix that Alex wrote. Update bower state.
Merge branch 'master' of github.com:Khan/live-editor
Remove extraneous argument to mouse playback. Fixes Mouse Interaction talkthrough.

Summary: During the recent refactor the name argument was removed to the mouse handlers, causing the `x` argument to become `y` and `y` to become `undefined`. This fixes that.

Test Plan: The Mouse Interaction talkthrough should now work!

Reviewers: brian, pamela

Reviewed By: pamela

Subscribers: #cs

Differential Revision: http://phabricator.khanacademy.org/D13787
Refactoring and testing tooltip-engine.js (previously called hotnumber.js)

Test Plan:
- See that all four kinds of widgets pop up in the editor
- Check that all of the tests pass
- Check that the three editable widgets correctly alter the text
- Check that autoSuggest has priority over numberScrubber normally and vice-versa on click
- Check that colorPicker has priority over numberScrubber
- Watch "Nested for loops" to verify playback.

Reviewers: pamela, john

Reviewed By: john

Subscribers: brian, #cs

Maniphest Tasks: T3193

Differential Revision: http://phabricator.khanacademy.org/D13126
Final clean up

Test Plan:
<see below>
show user defined variables to the list of completions
minor code cleanup + added profiling code
do the parsing in a web worker
added some tests that verify that values produced by customCompleter.getUserVariables(session, pos)
reusing structuredjs' copy of esprima
worker now returns list of user variables instead of the whole AST
remove console messages
build files for changes in this branch
in the process of rebasing so that this can be merged into master
modified ScratchpadAutosuggest.init to take an "options" param that should contain externalsDir and workersDir
moved the tests out of tests/output/hotnumber into tests/autosuggest