GUAC-882: Wrap calls to new Audio() within try/catch.
GUAC-882: Use window.open("") to check for existing window, not window.open(null).
GUAC-882: Tolerate lack of access to window.opener.
GUAC-881: Properly handle missing parameter values.