New: `CPThemeStateFirstResponder` for CPView.

When a CPView becomes the first responder it now takes on the 'first responder' theme state, as does all its subviews. This allows it to naturally change appearance when it has the keyboard focus, such as with focus rings and brighter colour schemes.
New: `CPThemeStateKeyWindow` for CPView.

Every view in the key window now takes on the 'key window' theme state. This makes it easy to theme everything in inactive windows in more muted colours. Also, combined with the first responder theme state of the previous commit we can have visuals like "first responder but in an inactive window" for text views and such things.
Fixed: nib2cib "The built in image NSRadioButton is not supported" error.

The nib2cib change which introduced support for the plus and minus template images in nib2cib also broke support for converting radio groups.

This fix restores that support.
New: nib2cib support for the standard color panel toolbar item.
Fixed: nib2cib of date picker would not convert enabled state.

Without this fix, if a disabled date picker was converted with nib2cib it would come out enabled.
Fixed: contentInset theme value read 2x in tool bar.
Fixed: text date picker stepper incorrectly enabled after decode.

Without this fix the textual date picker would properly disable the text field bit but not its stepper when unarchived.
Fixed: crash in CALayer when running non-DOM platform.
Fixed: nib2cib of segmented control would not convert enabled state.
Fixed: new first responder and key window theme states not always applied.
Fixed: illegible white on grey text in table view.

If a table view row is selected its text will turn white to offset against the blue selection colour. However, when the table is not the first responder, or the window is in is not the key window, the light grey highlight colour is used instead, but the text remains white.

This fix ensures the text becomes black in this case by utilising the new first responder and key window theme states.

Fixes #2009, fixes #2001.
New: ensure new first responder and key window states work well with all widgets.
New: theme kitchen sink manual test to exercise many themable controls in many states at once.

This test makes it easier to verify themes and theme tweaks.
Fixed: table view selection text colour in Aristo 1.

This is the same fix as in a4702d48b478cf28b6c76adb383307c1b35dc31f but applied to Aristo 1.

Refs #2009, refs #2001.
Merge branch 'master' into krodelin