lightirc: fundamentally change the way the app works

* rewrite the entire frontend code for handling the UI by using the spirit of O.O.
* also rewrite parts of the back-end to carry this out
* should make things much easier to handle

With the new layout, IRCFragmentActivity implements various callbacks to perform actions for other fragments and the listener.
Because of this, no one class has full access to the activity anymore as this could be dangerous for unneeded modification.
The activity acts as a hub to coordinate everything when connected to the server