Level over gui re-designed and implemented

+ Guimanager is no longer an all-purpose script. it's better if we
create different scripts for different states for gui to avoid switch
statements etc.