CompoundPlugValueWidget remembers collapse state.

State is stored on a hidden, non-serialisable plug on the node, and updated whenever the collapse status changes. On building a new ui, we restore any previously stored state.
Node Editor remembers current tab.

Node Editor stores the last viewed tab on a non-serialisable plug on the node, and uses it to set the current tab when generating new uis.

Fixes #87.
Merge pull request #196 from johnhaddon/uiCollapseState

Remembering UI state