popup: split own functionality into target modifiers (close #968)

Hmm, would you implement the `setContent()` method, if you haven't had need to `.redraw()` popup in the `_target_*`?