Create Sine scene for testing audio synthesis
Sine: use particles and a spring to make a wave
Sine: hide the top node; only animate during tap
Sine: synthesize and play a sine wave when touched

I'M SUPER PUMPED ABOUT THIS! IT WORKS! I learned a lot today!

Heavily based on:

http://www.cocoawithlove.com/2010/10/ios-tone-generator-introduction-to.html

with help from

https://ccrma.stanford.edu/~jsanchez/NSSpain.pdf

and

http://en.wikipedia.org/wiki/Sine_wave

but now I should be able to start abstracting it more and doing more
cool things with the tone renderer (although I've always loved the
pureness of sine waves.)
Sine: fade in
Sine: fade out; minor optimizations

Those optimizations include creating the audio unit when the scene is
presented instead of lazily when the screen is tapped, commenting out
the code that disposes of the audio unit (for now), and #define-ing a
magic number as a tradeoff between readability and variable access.
Sine: use ints instead of floats for the stream

Also renamed some variables. The output buffer is currently hard-coded
to silence (all 0's) until I rewrite the sine oscillator to operate on
ints instead.
Sine: restore the sine wave generator
Sine: remove some compiler warnings
Sine: use ASDR state instead of fadeIn/fadeOut
Sine: initialize the AU when the scene first loads

Better than doing it lazily when the screen is tapped for the first
time—the latency is too noticeable.
Sine: improve touch detection

Before, it would silence the tone if a touch ended regardless of whether
or not there were still other touches on the screen.
Revert "Sine: improve touch detection"

This reverts commit e129ad01178b173e910a6c65c5a8ef582f695e66.

I thought I had it all figured out, but now it's possible (albeit very
difficult) to trick the app into thinking there is still a touch when
there are none. I'll have to think about this some more...
Sine: move synthesizer business into a SynthNode
Sine: give SynthNode a slightly higher-level API
Sine: use a struct to hold freq, etc.

Using the SKNode object itself just seemed way too high-level:
    1. There were primitive types that had to be declared as
       @public and put in the header file... what?
    2. __bridge had to be used to cast it as a C pointer
Sine: publicly expose the synthesizer's frequency
Sine: fix incorrect variable name
Merge branch 'sine'