refactor(tooltip): remove observers

Part of #1600. Lazily evaluate values only when they're needed.

Breaking change:
- Set up triggers only once, so the triggers can't be changed later

It's possible to remove the observers for title and content and lazily evaluate them as well. That part can also be abstracted into a controller method.