Cursor position

Formatting should move the cursor to where it was before formatting. This is having some issues with areas such as `module.exports`, because it seems that the '.' is counted as part of the word, so the cursor is a couple characters off in this case. In other cases, it could be very far off, possibly due to the use of tabs instead of spaces...?

I think we should still merge it and release it in the meantime, and as people report issues, I'll try to keep improving it. I've already fixed some stuff by using it on my own, but I can't find everything, and I'm hoping to see if there are any other issues before I fix the two above that I mentioned, because it may change the implementation. It should still be better than before where the cursor was just placed at the end of the file, but we'll have to see how well this one will do.