possible way to expose plot object to js integration code
checkpoint some spectrogram refactor code (non-functional)

checkpoint
Merge branch 'master' into feature/spectrogram
empty plots rendering, but layout is off
Merge branch 'master' into feature/spectrogram
restore html template
Merge branch 'master' into feature/spectrogram
Merge branch 'master' into feature/spectrogram
add width: auto to vbox to prevent infinite widths
pass on toolbar location in plotting.py
misc improvements
merge master
working spectrogram and line plots (no eq or widgets)
more working widgets
working sliders
more fixes
performance improvement
restore titles, make waterfal plot bigger
fix stitching problem with image dilate option
Switch to using a timer

This removes the recursive call that was being triggered by nested
setTimeout calls.  Each call that had bokeh *not* loaded ended up adding
another function to the call stack before setup actually created a
SpectrogramApp instance.

@bryevdv the pattern this replaces is something we should try to avoid
as its not hard to blow the stack up by accident.