[BUG #6342] add comments to AST

- comments are always "commentsBefore"
- they are accumulated in the TokenStream
- and attached to the next non-comment token, on a special member token.comments
- trailing comments are inserted with an 'eol' token (but only if there
  are actually any trailing comments)
- (the last is a bit wobbly, as we use treeutil.compileString - e.g. in stringoptimizer -
  and this could pot. introduce spurious 'eof' tokens somewhere in the ast,
  if the string that is compiled has trailing comments)
[BUG #6342] activate new ast for api-data generation (work in progress)

- forked Comment_2.py, for old compile pipeline
- working through runApiData()
[BUG #6342] activate new ast for api-data generation (work in progress)

- forked Comment_2.py, for old compile pipeline
- working through runApiData()
[BUG #6342] change 'definitionList' to 'var' in the ast

- the 'definitionList' node, albeit expressive, was artificial
- it resulted in  parsed nodes ('var') being discarded and replaced 1:1 by
  'definitionList' nodes in the ast
- this created artificial complexity (e.g. extra .toJS method for 'definitionList'
  but none for 'var', parse rules for 'var' but none for 'definitionList')
- 'var' is also more mnemonic and easier to link to the lexical token
- this also helps with comment handling, when the 'var' node has comments
[BUG #6342] capture comments from map keys

- map key tokens are discarded in the ast, and dissolved in the <keyvalue> node
- so i have to carry over the comment attrib (an ugly consequence of not using
  parsed tokens in the ast)
- slight renaming of vars
[BUG #6342] 'var' comments clean-up
[BUG #6342] more fixes for api-data generation
[Bug #6367] fixed JSDocs

- there needs to be a separating line between the JSDoc description and the
  @<something> lines
[Bug #6367] changed 'include' value into a single call to qx.core.Environment.filter

- you cannot use arbitrary JS expressions in 'include' keys, as this
  breaks the generator processing of them
- add support for a "true" key, for mixins that should always be included,
  independent of a specific environment key
[BUG #6374] honor 'variants' in Api data

- if a 'variants' compile optimization is set in the 'api' job, extract the api
  data on the variants-optimized tree
- (the other dependency-changing optimization, statics, is still missing,
  and probably much harder)
[BUG 6375] Fixed bug in Chrome when scrollTop or scrollLeft is 0.
Added a #require for OperatingSystem class since this one is called qx.core.Environmemt right at the start is a de-facto load time dependency.
Added unit test to test a 500 return code. The JSON store has to fire an 'error' event.
Fixed typo and enhanced the implementation.
[Bug #6336] Doing merge of jobs on flush()
[Bug #6336] Code performance optimized. But widget queue is not handling any disposing of registered widgets, or even reuse of $$hash values.
[BUG #6374] make 'api' job config for 'server' closer to qx-oo build

- some code clean-up
[BUG #4800] Add a qooxdoo mobile theme 
[BUG #4800] Add a qooxdoo mobile theme 


* Fixed SelectDialog on Indigo
[BUG #6342] undoing workaround from Andreas for parsing problem in 'on' method

- works with new parser