DOCS: fix target directory for docu uploads

* Use "latest/" as upload target except for release tags.
* Use release tag name as upload target for docs built on release tags.
UI: support objects as custom pseudo elements in selectors

* UI: support pseudo elements in selectors.
* UI: fixup Selector error handling and ignore trailing subject indicators.
* UI: Selector: minor polishing.
* UI: return objects from selector queries instead of booleans.
* UI: selector: use do_once construct.
* UI: prepare for objects as custom pseudo selectors.
* UI: introduce Selector::Selob, abstraction for selectable objects.
UI: extend selector tests

* TESTS: redirect selector assertions to originating source locations.
* TESTS: check all selector tests against 3 match variants: first/unique/all.
* TESTS: check FIRST & UNIQUE selector matches for ALL selectors tests.
Merge branch 'pseudo-selector-objects'

* pseudo-selector-objects:
  UI: extend selector tests
  * TESTS: redirect selector assertions to originating source locations.
  * TESTS: check all selector tests against 3 match variants: first/unique/all.
  * TESTS: check FIRST & UNIQUE selector matches for ALL selectors tests.
  UI: support objects as custom pseudo elements in selectors
  * UI: support pseudo elements in selectors.
  * UI: fixup Selector error handling and ignore trailing subject indicators.
  * UI: Selector: minor polishing.
  * UI: return objects from selector queries instead of booleans.
  * UI: selector: use do_once construct.
  * UI: prepare for objects as custom pseudo selectors.
  * UI: introduce Selector::Selob, abstraction for selectable objects.