Add tooltip auto placement, adjust by tip position

Add Tooltip auto placement. if placement is 'auto', it will find enough space to place the tip.