clean lint; closes #541
mapLayout() => mapLayoutData() in docs; closes #540
Link to user demos; closes  #539
Link to Cytoscape desktop on top of docs; closes #542
sp
cy.resize() doesn't invalidate events BB cache; closes #545
Added the Spread layout. This layout combines several algorithms:

- It generates an initial position of the nodes by using the
  Fruchterman-Reingold algorithm (doi:10.1002/spe.4380211102)

- Finally it eliminates overlaps by using the method described by
  Gansner and North (doi:10.1007/3-540-37623-2_28)

The code, at the moment, is heavily dependent on several external
libraries which need to be included in the html file. In particular, in
order to use web workers, the code makes use of the Parallel.js library.
A trick has been introduced in order to automatically load the eval.js
file which needs to be put in the same directory as the parallel.js
file.