Move context menu if cropped

Fixes https://github.com/dart-lang/spark/issues/835
Honestly, I'm uncomfortable because the context moves after showing(but unable to catch by human eyes)

review @dinhviethoa

![image](https://f.cloud.github.com/assets/756988/2061362/cb33485e-8c4d-11e3-8966-3c7a4d4d6d5e.png)