Used lower framerate and delay between frames to lower the CPU load.
Changed to redraw the whole screen at once (except pressed buttons), each station handles its own display.
Cleaned up file inclusions.
Cleaned up handling of string literals.
Removed code duplication when displaying widgets.
Fixed duplicate surface deallocations.
Cleaned up surface deallocation for widget images.
Cleaned up file search a bit and removed some code duplication.