Handle multiple delegated selectors on tooltip and popover nodes

Fixes #14167.  This change just stores an hash of multiple tooltip or popover objects on the node when a selector is provided.  I wasn't sure whether to use an array or a hash, but I went with a hash indexed by the selector so that I could preserve the behavior that you cannot reinitialize a node with the same selector.
Please extract this template into a variable and use string concatenation to make it more readable.