Display comments of the gist

* Concat comments' Markdown into content and send to GitHub to
render in one batch.
* There is problem of differentiate the comments, since Markdown
is not flexible on the HTML tags we could append to.
* Now use `client_id` and `client_secret` to increase rate limit.
Authenticated with OAuth2

* Convert `GistClient` into a `gen_server`
* It keeps track of `client_id`, `client_secret`, and `access_token` if
the user is authenticated.
* A login button on page. Once logged in, display private gists also.
* Move data out to application's environment.
Every socket has its own gist client

Requests coming from one socket share one gist client, but different
sockets have different ones. This is to differentiate between authorized
client and regular client.