Add a utility superclass for exceptions.

Knows how to capture stack traces on Chrome/V8 and other browsers without
built-in exception support.
Add com.qwirx.util.ExceptionEvent class.

Should be dispatched whenever a control would otherwise emit an
exception, but cannot safely do so, because it's responding to a
browser event.
Change com.qwirx.data.CursorMovementException parent class.

Inherit from com.qwirx.util.Exception instead, so that stack traces are
added automatically in Chrome.
Remove obsolete comment.
Make com.qwirx.grid.NavigationBar check type of cursor provided.

Catches an error where a Datasource was provided instead of a Cursor.
Pass a Cursor to NavigationBar constructor.

Previously we passed a Datasource, which became incorrect but was not
detected until now.
Report cases where browser event handler throws exception in tests.

This is no longer allowed, because there's no way for the rest of the
application to have a chance to handle the exception appropriately.
Allow passing an array of values to com.qwirx.util.Enum().

Previously you could only pass the Enum values as separate arguments.
Add a standard Renderer (superclass) for goog.ui.Component.

Based on goog.ui.ContainerRenderer, but without the bad behaviours that
assume that we're rendering a goog.ui.Container, because we're probably
not. Designed to be subclassed by local renderers.
Add a BorderLayout component class, with some tests.
Make NavigationBar buttons fire ExceptionEvents.

They respond to browser events, so they must not throw exceptions.