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