Adding basic error handling to GUI

Sometimes blight silently throws exception, leaving GUI in inconsistent state and without any notices, so you might lose messages you are going to send.

This PR adds handling of top-level uncaught exceptions to GUI, showing a dialog box with some context.
Debugging output to console is preserved.

For that purpose i almost completely wrapped all blight.rkt in blight-run function and added some context passing to error dialog (added to utils.rkt)

For now exceptions generated during blight-run() (the initialization) are not handled, because we need to split it to multiple sequential calls (like read-data(), connect(), init-gui(), bootsrap() etc).

A screenshot
![image](http://dump.bitcheese.net/images/upavupu/blight-error.png)