Handle possible user-thrown exception

This propagates it out of SyncWritableStreamStateWithQueue into the waiting arms of someone who will catch it and send it to `this@[[error]]`.

Combined with previous work, this closes #128.