Don’t catch errors unless `onException` is defined

The default action of catching a thrown exception in `bindSection` causes Chrome’s Developer Tools to lose the original stack trace in its “Pause on exception” state.
Would be more efficient, and have cleaner stacks, if we did something like:

```
if (Thorax.onException) {
  return function() { try {...
} else {
  return callback;
}
```