Adding initial LoopProcessor code (not yet working)
Loop processing working correctly :

- fixed duration
- fixed feedlback gain
- no play/pause/clear/stop control of any kind.
Track object is now creating a loop processor instead of passthrough.
UI changes

- The Scumbler::Reset() always creates a single track. It's not really
  meaningful (or useful, anyway) to not have a track.
- Added debugging #define qSketch -- components should add code in their
  paint() method to draw an outline of their bounds.
- The first track is now drawn in the center of the screen, and as we add
  tracks, they'll stay centered there instead of building down from the top as
  we add them.
Adding the LoopComponent.

Currently doesn't do anything other than sketch its bounds on the screen.
Modifying things to use LoopProcessor/LoopComponent
Tracks only loop when playing.

On each processBlock call in the loop processor, we only loop and process
audio when both the track and the scumbler are playing.
Adding new transport component.
Adding utility functions in the loop processor

Things that will make life easier when we wire in the UI.
Adding the TransportComponent to the project & UI
Wired up buttons.

The add track, start, and stop buttons are all wired up now, and they are
correctly enabled/disabled according to the play state.
Disabled the 'Add Track' button

We'll re-enable it when we have the switchable input processor in the next
milestone.
Wiring up the volume control

Moving the volume knob makes calls down into the Scumbler to change the
volume (but we don't have a GainProcessor object yet that can actually
effect that change.
Gain processor wired into the Scumbler's output.
Bugfixes

- Previous code was shadowing the member fLoop with a new local fLoop, so we
  were never setting the member correctly, leading to a crash.
- Added critical section for thread safety.
Knob now controls the loop feedback @ runtime.
buttons in transport component now center within component.
Add fns to set/get loop feedback.
Modified LoopComponent to access track

Instead of passing the Loop Component ctor a pointer to thte loop processor,
we pass in a pointer to the track object so we can also mute/solo the track
from inside the loopcomponent.
Adding Waveform component.

At the moment, doesn't do anything except draw an X where the waveform display
will end up being drawn.