transport: Manage out node so sound output stops when playback stops.
Add duration to tempo change objects for transport duration calculation.
Remove dead code.
Use Deferreds for jam.samples loading.
Dirty speedup of waveform rendering.
WaveformView sizing code cleanup.
Fix HUD render race condition.

HUDs which base their rendering on their element size (like
WaveformView) need to be appended to the DOM before their render()
function is called.
Remove no longer needed transport out connection.
Tempo change accuracy fixes.

Always execute tempo changes before other events with the same `t`, and
apply previous tempo properly to tempo change events.
Add helper for cleaner lazy reference lookups.
Rename transport 'halt' event to be more apt.
Add some rudimentary tempo tapping tools.