Adjust tab completion widget if too close to bottom of page.

In master the tab completely widget completely fails if the code is too low on the page and the widget won't fit.

This PR looks to see if the completely widget will fit below the code and if not does the following:

* Inverts the list
* Scrolls to the bottom
* Puts the widget above the code

Here is a screenshot:

![screen shot 2013-09-25 at 7 20 46 pm](https://f.cloud.github.com/assets/27600/1215009/b151824a-2652-11e3-83ea-1b40920b902c.png)