built-in error handling mechanisms to FlashbangApp

FlashbangApp.onFatalError provides a mechanism for gracefully shutting
down and displaying information about a fatal error.

FlashbangApp.onUncaughtErrorEvent is called when an uncaught error is
thrown; by default it calls through to onFatalError.

update & dispose logic is tightened up to allow for more graceful
handling of fatal errors.