introducing HttpListener

the role of the listener is to provide `onClose`/`onOpen` callbacks with the exposed channel id. This is necessary in order to keep track of connected users in cases of long polling or streaming via chunked responses. 

This changeset introduces a `hello` world sample app as well.