Fixes, cleanups, layout changes, improvements to smileys and more

* Fixes issue #85
* Widget now inherits from QMainWindow instead of QWidget (ability to save/restoreState)

I don't think this breaks anything but maybe you'd like to give it a go before merging.