In-browser Error Reporting

First pass at in-browser error reporting.  (#150)

The idea is to turn `compile` into a wrapper to `Compilation` that catches any exceptions raised during compilation.