good news - main window no longer shows as visibly minimized when gui/main_window/enabled == 0 on start

bad news - i get segfaults when quitting. should the signal be going off in the destructor? from ~MainWindow to ~Window and then on_visibility_changed() is called. at that point is_visible() will cause a segfault because there is no gobj to deref. if i skip past that it looks like this
```
29Feb2012 01:34:34 >>> Menus::on_menu_quit
29Feb2012 01:34:34 >>> GUI::terminate
29Feb2012 01:34:34 >>> Configurator::save
29Feb2012 01:34:34 <<< Configurator::save1
29Feb2012 01:34:34 >>> GUI::collect_garbage
29Feb2012 01:34:34 <<< GUI::collect_garbage
29Feb2012 01:34:34 <<< GUI::terminate
29Feb2012 01:34:34 <<< Menus::on_menu_quit
29Feb2012 01:34:34 >>> MainWindow::~MainWindow
29Feb2012 01:34:34 >>> MainWindow::win32_window_proc 144 0
29Feb2012 01:34:34 <<< MainWindow::win32_window_proc
29Feb2012 01:34:34 >>> GUI::win32_filter_func
29Feb2012 01:34:34 <<< GUI::win32_filter_func
29Feb2012 01:34:34 >>> GUI::win32_filter_func
29Feb2012 01:34:34 <<< GUI::win32_filter_func
29Feb2012 01:34:34 >>> MainWindow::win32_window_proc 2 0
29Feb2012 01:34:34 <<< MainWindow::win32_window_proc
29Feb2012 01:34:34 >>> MainWindow::win32_window_proc 130 0
29Feb2012 01:34:34 <<< MainWindow::win32_window_proc
29Feb2012 01:34:34 <<< MainWindow::~MainWindow
29Feb2012 01:34:34 >>> MainWindow::on_visibility_changed
29Feb2012 01:34:34     MainWindow::on_visibility_changed 0
```
visibility_changed_signal still exists at this point but emit fails 

Unhandled exception at 0x01370ac1 in workrave.exe: 0xC0000005: Access violation reading location 0xdddddde1.
```
>	workrave.exe!std::_Iterator_base12::_Adopt(const std::_Container_base12 * _Parent)  Line 158 + 0x6 bytes	C++
 	workrave.exe!std::_List_unchecked_const_iterator<std::_List_val<sigc::slot_base,std::allocator<sigc::slot_base> >,std::_Iterator_base12>::_List_unchecked_const_iterator<std::_List_val<sigc::slot_base,std::allocator<sigc::slot_base> >,std::_Iterator_base12>(std::_List_nod<sigc::slot_base,std::allocator<sigc::slot_base> >::_Node * _Pnode, const std::_List_val<sigc::slot_base,std::allocator<sigc::slot_base> > * _Plist)  Line 43	C++
 	workrave.exe!std::_List_const_iterator<std::_List_val<sigc::slot_base,std::allocator<sigc::slot_base> > >::_List_const_iterator<std::_List_val<sigc::slot_base,std::allocator<sigc::slot_base> > >(std::_List_nod<sigc::slot_base,std::allocator<sigc::slot_base> >::_Node * _Pnode, const std::_List_val<sigc::slot_base,std::allocator<sigc::slot_base> > * _Plist)  Line 185	C++
 	workrave.exe!std::_List_iterator<std::_List_val<sigc::slot_base,std::allocator<sigc::slot_base> > >::_List_iterator<std::_List_val<sigc::slot_base,std::allocator<sigc::slot_base> > >(std::_List_nod<sigc::slot_base,std::allocator<sigc::slot_base> >::_Node * _Pnode, const std::_List_val<sigc::slot_base,std::allocator<sigc::slot_base> > * _Plist)  Line 343	C++
 	workrave.exe!std::list<sigc::slot_base,std::allocator<sigc::slot_base> >::end()  Line 792 + 0x13 bytes	C++
 	workrave.exe!sigc::internal::temp_slot_list::temp_slot_list(std::list<sigc::slot_base,std::allocator<sigc::slot_base> > & slots)  Line 182 + 0x43 bytes	C++
 	workrave.exe!sigc::internal::signal_emit0<void,sigc::nil>::emit(sigc::internal::signal_impl * impl)  Line 766 + 0xf bytes	C++
 	workrave.exe!sigc::signal0<void,sigc::nil>::emit()  Line 2667 + 0x2f bytes	C++
 	workrave.exe!MainWindow::on_visibility_changed()  Line 851	C++
 	workrave.exe!sigc::bound_mem_functor0<void,MainWindow>::operator()()  Line 1787 + 0x5f bytes	C++
 	workrave.exe!sigc::adaptor_functor<sigc::bound_mem_functor0<void,MainWindow> >::operator()()  Line 251 + 0x2b bytes	C++
 	workrave.exe!sigc::internal::slot_call0<sigc::bound_mem_functor0<void,MainWindow>,void>::call_it(sigc::internal::slot_rep * rep)  Line 104	C++
 	glibmm-vc100-d-2_4.dll!sigc::slot0<void>::operator()()  Line 440 + 0x12 bytes	C++
 	glibmm-vc100-d-2_4.dll!Glib::PropertyProxyConnectionNode::callback(_GObject * __formal, _GParamSpec * pspec, void * data)  Line 45	C++
 	libgobject-2.0-0.dll!63a45aca() 	
 	[Frames below may be incorrect and/or missing, no symbols loaded for libgobject-2.0-0.dll]	
 	libgobject-2.0-0.dll!63a567e4() 	
 	libgobject-2.0-0.dll!63a5dcd6() 	
 	libglib-2.0-0.dll!6860dcb7() 	
 	libglib-2.0-0.dll!685e0e49() 	
 	libgtk-win32-2.0-0.dll!01b9cea7() 	
 	gtkmm-vc100-d-2_4.dll!Gtk::Window_Class::dispose_vfunc_callback(_GObject * self)  Line 202 + 0xe bytes	C++
 	libgobject-2.0-0.dll!63a48d09() 	
 	gtkmm-vc100-d-2_4.dll!Gtk::Window::destroy_()  Line 106	C++
 	gtkmm-vc100-d-2_4.dll!Gtk::Window::~Window()  Line 635	C++
 	workrave.exe!MainWindow::~MainWindow()  Line 95 + 0x58 bytes	C++
 	workrave.exe!MainWindow::`vbase destructor'()  + 0x2b bytes	C++
 	workrave.exe!MainWindow::`scalar deleting destructor'()  + 0x2b bytes	C++
 	workrave.exe!GUI::main()  Line 232 + 0x3b bytes	C++
 	workrave.exe!run(int argc, char * * argv)  Line 66	C++
 	workrave.exe!WinMain(HINSTANCE__ * hInstance, HINSTANCE__ * hPrevInstance, char * szCmdLine, int iCmdShow)  Line 108 + 0xb bytes	C++
 	workrave.exe!__tmainCRTStartup()  Line 547 + 0x2c bytes	C
 	workrave.exe!WinMainCRTStartup()  Line 371	C
 	kernel32.dll!@BaseThreadInitThunk@12()  + 0x12 bytes	
 	ntdll.dll!___RtlUserThreadStart@8()  + 0x27 bytes	
 	ntdll.dll!__RtlUserThreadStart@8()  + 0x1b bytes	
```