Introduce tooltip.position callback function

to control the position of the tooltip programmatically