track *last* hidden's class

* when a new hidden is selected, store the last hidden's class
* this prevents the new hidden selection overwriting the choice
* then use g_lastHiddenSavedClass to restore the last hidden's
  class after the new hidden's class has been stored