Explain reasonings for JSX syntax support design decisions

* lisp/progmodes/js.el: Throughout the code, provide explanations for
why JSX support was implemented in the way that it was; in particular,
address the overlap between syntax-propertize-function, font-lock, and
indentation (as requested by Stefan).
1 job for master in 51 minutes and 5 seconds (queued for 2 seconds)
Status Job ID Name Coverage
  Test
failed #1278
test-all

00:51:05

 
Name Stage Failure
failed
test-all Test
make[2]: *** [check-doit] Error 1
Makefile:313: recipe for target 'check-doit' failed
make[2]: Leaving directory '/builds/emacs/emacs/test'
make[1]: *** [check-expensive] Error 2
Makefile:288: recipe for target 'check-expensive' failed
make[1]: Leaving directory '/builds/emacs/emacs/test'
make: *** [check-expensive] Error 2
Makefile:962: recipe for target 'check-expensive' failed
ERROR: Job failed: exit code 1