Fixes to isJSXElement.

* Don't treat `<T>{x:1, y:2}` as JSX tag.
* Treat `<T>[EOF]` as cast for completions.
Prevent non-TypeScript (HTML/JSON/...) files from being added to test suite.
Generalized directive comment processing through handlers map.
Fix for <ident> with no detected closing tag.
Change baseline: we are providing more precise in-reference error locations.