Add several tooltip events in order to offer hook points in the tooltip lifecycle

In fact I'm more in favor to use addXXXEventHandler instead of with.

We should refactor all these withXYZ method by either using the builder pattern or simple setter/getter