Javascript hinting and refactoring powered by Tern