surface/html: add TextArea widget
surface observable classes: always use current value (not initial) when adding an element
Add descriptive error wrapper around bridge#marshall (gives a better hint about where internal errors came from - e.g "max call stack size exceeded")
add window.onerror.triggered property, so that withApi doesn't try to reconnect after an uncaught fatal error
bridge: abort all executing calls on connection error