oboe: prevent onError callback from causing an assert

There was a race that could be caused by multiple onErrorCallbacks.
There should only be one callback.
We now check to make sure that only the first callback is handled.

Fixes #519
3 files changed