Added uncaughtException, setUncaughtExceptionHandler, and getUncaughtExceptionHandler.
uncaughtException is called to handle an exception that cannot be caught by user code at the time it is thrown (e.g. when thrown inside of a destructor).
setUncaughtExceptionHandler and getUncaughtExceptionHandler set/get the uncaught exception handler (a Brimstone delegate).

Added GraphicsException, an exception type thrown by Graphics implementations.
Fixed a bug in WindowsException wherein an std::unique_ptr for the message was constructed and then immediately deleted
Merge branch 'master' of https://github.com/theJ8910/Brimstone