A Selector object holds a CSS selector. To create a new Selector, call the
static method Selector.createSelector(String selectorString).
This class makes the Styles Object APIs clearer,
since we have Map<Selector, Style> now instead of Map<String, Style>.
Also with this object we'll have the API in place in case we need to
hang methods off of this object (like
possibily reordering the pseudo-classes in alphabetical order when creating
a Selector object so that af|foo:bar:zoo and af|foo:zoo:bar are equal).
It was originally thought that we'd add a getNativeSelectorString method
here, but we decided to not add it here to keep a better separation of Selectors
and the maps that convert the Selectors to the native selector string.