groundwork for better locally looped audio
changes to allow AudioInjectorOptions to operate as a hash from js
update airGuitar.js to new AudioInjectionOptions format
update audioBall to new hash injector format
update avatarCollision to new hash injector format
update birdSongs to new injector hash format
repairs to audio classes for Sound* to QScriptValue
repairs to birdSongs for new hash injector format
repairs to bot_procedrual for hash injector options format
fix for playSound argument to match QScriptValue conversion
use new AudioInjectionOptions format in botProceduralWayPoints
use hash in place of AudioInjectionOptions in other js files
replace AudioInjectionOptions with hash in playSoundOnEnterOrLeave
handle passing of local audio interface to AudioInjector
handle local audio output via AudioInjector directly for control
fix QIODevice fail in AudioInjector by passing explicit size
handle cleanup of local injection, volume
add AudioInjectorLocalBuffer for more control
handle looping via AudioInjectorLocalBuffer
switch lobby noise back to drone