gui changes

Some changes to the gui, like using invokeLater to start, using a timer
instead of a while loop for repainting and switching out actionlistener
for actions. Toggling the messagelog works now.