[Feature Request] Allow setting custom startup/shutdown events in brew procs
## Feature Request

Essentially what I'd love to be able to do would be to have parameters in the brew proc that would allow me to set my own procs to fire when the application starts up (and maybe also when it shuts down).

My explicit usecase would be that I'm currently working on my appster package as you have seen, which sets up a second thread as a "server". I'd love to be able to add a global timeout proc on startup of the application that listens for messages from said server.

Essentially I want to run this piece of code:

```nim
proc addServerListener*[OwlkettleApp: Viewable, SMsg, CMsg](app: OwlkettleApp, data: ServerData[SMsg, CMsg], sleepMs: int = 5) =  
  ## Adds a callback function to the GTK app that checks every 5 ms whether the 
  ## server sent a new message. Triggers a UI update if that is the case.
  proc listener(): bool =
    let msg = data.hub.readServerMsg()
    if msg.isSome():
      app.msg = msg.get()
      discard app.redraw()
    
    const KEEP_LISTENER_ACTIVE = true
    return KEEP_LISTENER_ACTIVE

  discard addGlobalTimeout(sleepMs, listener)
  ```

Right now I'm forced to tell the user "Well you have to know that you must run this in the beforeBuild hook of the App-Widget.
It would be far neater (in my opinion) if I could forego that and just tell them "Add this event to your owlkettle-Startup-Events in the brew proc".

These could also be used for various other things along the lines of setting up resources (e.g. loggers) and destroying them on program shutdown.


## Implementation

Implementation would be pretty trivial. Just add the types:
```nim
type StartUpEvent = proc(app: GApplication, data: ptr AppConfig)
type ShutDownEvent = StartUpEvent
``` 

And then add fields with `seq[StartUpEvent]` and `seq[ShutDownEvent]` in the AppConfig datatype.
Finally add parameters for those fields (default value `@[]`) to all the brew proc and then (depending on the brew proc) execute the events in an appropriate place depending on the brew proc.