Initial chat code & design
Merge pull request #8 from Nichejs/Issue_6

Resolve #6 partially, more issues should be added later to improve the chat.
Fix merge issues