add exception check when creating AudioContext

...so that we can fall back to use `<audio>` when AudioContext couldn't be created for whatever reason.
Please make it a method of the engine in future, like `$engine.createAudioContext()`, so we will may return nothing in case of server-side usage.