Add tooltip `viewport` option, respect bounds of the viewport
Merge fix?