Refactor InlineLoaderHooks into ES6.

Done

Sublime uses tab setting for tabs-to-space. I set a new user setting to see if I can get new files to come up with `"translate_tabs_to_spaces": true`.