Use buffer position instead of screen position

It's bug when moving down or right there may be some errors if you enable the softwrap option.
For example if I have code like below, then I can't move below or right:
![map_js_-__users_tony_documents_repos_projects_rails_greenpeace-map](https://f.cloud.github.com/assets/1253659/2355730/ccbb57f6-a5df-11e3-86ac-683a079c7049.png)

btw, I notice that `#getCursorScreenPosition` is used at many places, maybe there're other errors, but I think we can fix them when we find the error.