Added rough chat functionaility

The connection isn't managed too well right now - it's easy to break the
application when clicking the wrong button at the wrong time. Need to
add checks to ensure that connection is active, there is data to read,
etc.