Rename S3LocationSelectorWidget2 into simply S3LocationSelector,
restructure under new S3Selector baseclass (to be re-used for
S3AddPersonWidget2), refactor for JSON-based single input, separate
validation from post-processing, remove separate post-process validator,
rewrite JS as UI widget, encapsulate all client-side processing (all
that in preparation for integration with S3SQLInlineComponent, and to
allow multiple selectors per page), some bug fixes/cleanups. This is
WIP, inline component integration to follow in separate commit.