Update `Lily\Middleware\ExceptionHandler` to take an array of config in it's constructor

In this config the following keys can be set:

 - `'handler'`, a `Callable` value to be used instead of the default exception handler
 - `'register'`, an optional boolean when TRUE it will register global error, exception and shutdown handlers with `Whoops\Run::register()`