Positioning tooltip on edge case

1) Position the arrow in front of tooltiped element
2) Move the tooltip according to its real size (when resized on display)
3) Move the tooltip inside window when possible.

Before:
![before](https://f.cloud.github.com/assets/527245/100248/69c1f056-67fb-11e2-8aa8-3ece6fc8fe4d.png)

After:
![after](https://f.cloud.github.com/assets/527245/100249/6d10a6b2-67fb-11e2-9256-c7ebb15adce6.png)