JS: keyword completion is put in a separate file.
Esprima: updated to use its token API.