Add support for dynamic bitrate configuration to NVENC
Forgot to destroy CUDA context on deinit/error
Convert all tabs to spaces
Fixed inconsistency and spelling in Encoder.NVENC.NoHardwareSupport string
Fix copy command in ObsNvenc if solution path contains spaces
Get rid of dependency on CUDA SDK by dynamicaly loading the required functions
Added audio burst compensation (fix sync)

 - Fixed an issue where audio data that came in bursts would cause
   desyncs.  Basically, if data came in too late, it would continue to
   buffer little by little, causing progressive desync with certain
   microphones and capture devices (avermedia stream engine for the live
   gamer portable especially).  Also seemed to happen with HDMI data
   from the newer game consoles, like xbox one apparently, though I
   can't be too sure.

   Now, it queries the mic and auxilary sound sources until sound
   buffers are depleted.  After doing so, it then "sorts" the audio
   packets timestamps backwards from the most recent packet to the
   oldest audio packet.  By doing this, it compensates for burst, and
   ensures that all audio data is seamless.  New burst data coming in
   will then line up properly with the older data via the sort function.

   NOTE: This needs testing
Show grey box in status bar when not connected
Merge branch 'master' of https://github.com/jp9000/OBS
Also account for user-specified delay

 - Woops, don't use global audio time for sorting, use the latest audio
   timestamp from that specific device.

 - Also, made it so lastSentTimestamp is only done when data is actually
   used, accidentally put it in the wrong scope.
Fix broken API QueryAudio

 - I needed to change the parameter for my hack, so I'm just going to
   create a new function instead, QueryAudio2.  C++ mangling and API
   breakage makes me most displeased.