Separate source activation for main/aux views

Split off activate to activate and show callbacks, and split off
deactivate to deactivate and hide callbacks.  Sources didn't previously
have a means to know whether it was actually being displayed in the main
view or just happened to be visible somewhere.  Now, for things like
transition sources, they have a means of knowing when they have actually
been "activated" so they can initiate their sequence.

A source is now only considered "active" when it's being displayed by
the main view.  When a source is shown in the main view, the activate
callback/signal is triggered.  When it's no longer being displayed by
the main view, deactivate callback/signal is triggered.

When a source is just generally visible to see by any view, the show
callback/signal is triggered.  If it's no longer visible by any views,
then the hide callback/signal is triggered.

Presentation volume will now only be active when a source is active in
the main view rather than also in auxilary views.

Also fix a potential bug where parents wouldn't properly increment or
decrement all the activation references of a child source when a child
was added or removed.
Require restart for audio changes (for now)

Resetting audio while libobs is active is a real pain.  I think I'm just
going to do audio resetting later, or maybe just require restart
regardless just because having to shut down audio streams/lines while
there's sources currently active requires recreating all the audio
lines for each audio source.  Very painful.

Video fortunately is no big deal, so at least there's that.
Rename scene signals

the signals for scenes could have potentially conflicted with default
source signals.  "remove" should be used for source removal, for
example.  Changed the scene signals to "item-add" and "item-remove" for
its items.
Add more checks for NULL pointers
Make ffmpeg test output sync A/V properly

FFmpeg test output wasn't make any attempt to sync data before.  Should
be much more accurate now.

Also, added a restart message to audio settings if base audio settings
are changed.
Fix stereo output bug with ffmpeg test output
Add mac audio capture

 - Add CoreAudio device input capture for mac audio capturing.  The code
   should cover just about everything for capturing mac input device
   audio.  Because of the way mac audio is designed, users may have no
   choice but to obtain the open source soundflower software to capture
   their mac's desktop audio.  It may be necessary for us to distribute
   it with the program as well.

 - Hide event backend

 - Use win32 events for windows

 - Allow timed waits for events

 - Fix a few warnings
Fix libobs/CMakeLists.txt for linux

Was pointing to a bad filename for the new threading stuff
Fix VS2013 project files

Last commit was on mac so I was unable to incude the VS project files
additions for threading-windows.c.
Fix device disconnect detection for CoreAudio

These address structures are very confusing and I wish apple designed
better system APIs.
Merge branch 'master' of https://github.com/jp9000/obs-studio
Fix a case where audio wouldn't free correctly

If coreaudio_start failed, it wouldn't free the audio data properly.
Fixed that issue.
Fix more failure handling for CoreAudio

Actually, if initializing failed at all, it would never properly
uninitialize because the 'initialized' variable was never set until the
very end.  Instead, set the "initialized" flag from the beginning to
ensure initialization.
Fix a memory leak in ca_warn (CoreAudio)
Remove redundant connect message
Fix audio startup (CoreAudio)

Forgot to add a '!'.
Add callback for device format change (CoreAudio)
Merge branch 'master' of https://github.com/jp9000/obs-studio
Set default buffering time to 1000ms

After a mac just boots up, it often takes about 700 milliseconds for
audio devices to work on first use, so it would often have issues with
the 700ms audio buffering time, and audio data would get cut off.  Just
increasing the buffering a little bit fixes the issue.
Merge branch 'master' of https://github.com/jp9000/obs-studio