Fixes, Refactors and Features

Michael,
Heres another pull request. Included are:
* Moved all the inner classes in MainActivity to be actual classes
* Every UI item that needs data sent from the device gets its own message consumer implementation. This ought to make adding and remove UI components pretty simple
* Fixed a threading issue I introduced with my last commit regarding the List View getting
  updated from a thread besides the UI thread.
* Improved socket handling. Once connected, the connect button allows you to disconnect. While connecting, the the button is disabled and says 'Connecting...'

You will need to pull the latest io library to support the socket disconnecting.

Cheers.