Use dedicated class instead of CPString for selection markers

This is the part from #1524 that replaces the magical strings used for selection state markers with the _CPStateMarker class.

Note: In Cocoa there's no NSNullMarker, nil is used instead.