try to restore a previously floating window's size
add the unfloating logic to save the window size
fix a potential segfault when closing the last window
Merge branch 'size' - implement the float-size-memory