WBOT-39 - Handler Middleware and HandlerDef support

Prior to this commit individual applications were maintaining handler definition. However, as this pattern has been helpful across applications I've decided to enhance the webserver by adding 'HandlerDef' and a method to pass a HandlerDef to the Webserver to register handlers. This behavior now allows the HandlerDef to define handler metadata which can be useful for documentation. When the HandlerDef is registered with the Webserver a developer can also register pre/post events to allow middleware or interceptor design patterns that also auto-document themselves.

This commit also adds a basic demo of these features and how to use the webserver API.
Ignoring compiled demo exe