Revert "Revert "Refactor and new features""

My bad, reverting the reverse.
Reverts danielfrg/sublime-open#9