Added OpenGL debug callback support and context changes.

1. We no longer hardcode a 3.2 profile. It chooses the latest profile that fits out description.
2. I added three tables and macros to help with the offsets compared to the variables to help reading. Read comments for more info.
3. I added glewExperimental being set. What a dumb "feature". It doesn't help anything...
Remove enable statements. This should be done in platform-independent code using GLEW.
Added gl_update (does nothing for now).

Fix previous commit..
Added GLX version check and assures context is set to none on failure.

Fixed the location glewExperimental was being set to just before glewInit() (where it should be).
Minor style fixup
Implement source removal via GUI

 - When the remove source tool icon is clicked, it will now remove the
   source from the scene.

 - Fixed a bug where the scene item removal callback would add the scene
   item to the list instead of removing it.

 - Changed AddSourcePopup to AddSourcePopupMenu.  Name actually confused
   me once despite being the writer, so it was clearly a bad name.
Remove from list based upon data, not string

 - Added an extra comment regarding source removal

 - Made is so that when a scene item is removed from the sources list
   box, it removes the item based upon the GetClientData rather than by
   its string name.  This is done because there may be duplicate sources
   in a particular scene, and it's important to remove the right one.
check for signalled event before pthread_cond_wait-ing

fixes a deadlock in obs_free_video/obs_video_thread where
video_output_stop would signal the update event before obs_video_thread
enters video_output_wait (the thread calling obs_free_video would
block on pthread_join and obs_video_thread would block on
pthread_cond_wait)
Change _DEBUG coverage a bit
Make it so that created scenes are selected

 - When a scene is created it now is automatically selected and switched
   to.
Revert "Merge pull request #19 from asgeirom/master"

This reverts commit 27ccb0947385d2384ad41e5ba47e35ae64df40d2, reversing
changes made to b7eccedf8a25248dd8cd1c04e940c4a7b7712dfe.
I removed GL-specific extension checking to a platform independent file.
I also fixed autoconf to find wxWidgets 2.9 without user intervention
Removed unused code and added more organization
Merge pull request #20 from benklett/time

Revert "Merge pull request #19 from asgeirom/master"
Updated VS2013 project dependencies

 - Made is so that libobs is now marked as a dependency for the main
   application project 'obs'.
Merge pull request #21 from computerquip/master

Various Changes to OpenGL intialization
Fixed APIENTRY quirk with GLEW
Fixed debug GL functions on windows (amend)

 - Removed the dependency on windows.h for windows.  I feel it's an
   unnecessarily large dependency to have to add to all source files
   when the only thing that's needed to make the windows version compile
   the debug functions is just the __stdcall call convention keyword.

   On top of increasing compile time due to the large number of headers
   it includes from all the windows API headers, it also adds a lot of
   potential name conflicts, as I was getting a number of name conflicts
   for lots of names like near/far, which were used in old legacy 16bit
   windows code.
Fixed debug extension check

 - Check the actual debug extension instead of checking GL 4.0 support;
   it appears that despite having GL 4.0 support, AMD does not implement
   the standard debug extensions even when the *_CONTEXT_DEBUG_BIT_ARB
   flag is set on the context.

 - Also, fixed a place where spaces where used for indents instead of a
   tab.
Removed unnecessary sizers from forms (homeworld)

 - Homeworld apparently removed a number of unnecessary sizers from the
   basic UI window form to reduce wx resize computations.
Handle source adding/removal better

 - Made it so that when a source is added or removed from a scene it
   will add a reference to sourceSceneRefs (std::unordered_map).  Each
   source adds a reference to that every time they are added to a scene,
   and releases a reference from it when they are removed from a scene.

   When the value reaches 0, the source is no longer in any scenes, and
   is then marked for removal and destroyed.

   Before, I was using the source internal reference counter, which is a
   really bad thing to do because I don't know what might actually be
   referencing it.  So using a separate discrete reference counter for
   the number of scenes it's in is better in this case.