Refactor, unfiy and cleanup IFramePhone and Parent Message APIs

[#63248748]
Update application.js to use new IFramePhone API

[#63248748]
Merge pull request #59 from concord-consortium/iframe-phone-refactoring

Iframe phone refactoring
Add Chosen submodule, follow gh-pages branch

[#63561734]
Update makefile to copy Chosen assets; add them to interactives.html page

[#63561734]
Use Chosen to make drop-down searchable; fix CSS

[#63561734]
Fix makefile for Chosen
Fix Chosen pulldown so it updates correctly when filters changed.

[#63561734]
Guardfile : Sass fix for including lab-grapher.scss in grapher.sass.
Simplification of Latent heat interactives
Workaround issues with FastClick and jQuery Context Menu

[#63386470]

In a really ugly way... Unfortunately FastClick breaks jQeury Context
Menu plugin. Even if context menu container has "needsclick" class,
what in theory should disable FastClick, it won't help.

The only solution is to put context menu completely outside container
that has FastClick attached. To do so, I had to create a new container
inside interactives container and use it e.g. in semantic layout and
other places.
fix missing KE shading legend/symbol

[#63572880]
Cleanup a bit semantic layout API

[#63386470]
Fix mocks used by mocha tests
inline icon images, makes built lab.js more portable
Fix help tips

[#63719444]
remove quantum dynamics calculation from rectangle test

[#63453168]

It was not needed and was causing the playback to fail.
Fix key events for table

[#63471244]
Add tab listener to table, change how editing is triggered

Tabbing between cells won;t work if we have to re-render table
each time we edit the data.

[#63471330]
Fix table column widths so they don't change on selection

[#63471330]