feat #797 Improvement of page definition for page engine

Two features are added with this commit:

1 - property "contents" is no longer mandatory in a page composition
2 - The bean definition for "placeholderContents" has been changed in order to reflect the code: values in the map can be either a single content or an array of them. The code was already taking that possibility into account. Tests have been added also for the case in which a template and a contentId are set in a placeholder configuration.

Close #797
fix #800 absolute path for DownloadMgr.resolveUrl

Adding the possibility to pass an absolute path to the resolveUrl method of DownloadMgr.

Close #844
doc Fix missing doc, wrong types, typos

1) make type="implements Foo" notation consistent with the other classes.
Search for `@type(.*)\.I[A-Z](.*)` in the repo, we never precede it with the Object

2) missing `$urlService` in the API docs while `$requestHandler` is there

3) typos

4) remove `@event` annotation, it's useless and not used in most of the
other files

Close #795.
refactor Cleaned up widgets by moving tagName and $cfgBean to prototype.
feat #845 Added new html textarea widget

Close #845
fix #721 changed the way comments are detected in the parser

Instead of checking that there is no ':' in front of
the occurrence of a //, it is checked that there are
some specific characters or a whitespace.
This fixes the problem with the base64 urls which may
contain // somewhere but still allows users to comment
their code.

Close #772
fix #771 Allow JSONSerializer to parse date values.