[web] introduce useTooltip hook
Summary:
This diff introduces a hook named useTooltip which is a hook that any tooltip can use (even ones we introduce in the future) and handles all the common core functionality for tooltips. To build this hook, I factored out all the message tooltip specific code and left that in the useMessageTooltip hook and moved over all the tooltip agnostic code into useTooltip
Depends on D8828
Test Plan: flow and confimred that the message tooltip still works and behaves as expected
Reviewers: atul, kamil, rohan
Reviewed By: atul, rohan
Subscribers: rohan, ashoat, tomek
Differential Revision: https://phab.comm.dev/D8829