REACH-31: Implement session manager

Pool of `DynamoViewModel` is created to minimize delay for a newly connected user. Server works in headless mode as a side effect of these changes.
The following could use some rewrite:

```cs
// Cache the 'handler' for call later.
var handler = NewSessionConnected;
if (handler != null)
    WebServer.ExecuteWithDispatcher(() => handler(session));
```