For this, I would lean towards Drupal. Let me address each of your points as best I can, realizing that we have converted our development shop from custom .NET apps to the Drupal framework because of the flexibility we like to provide to our webmasters/customers. We have used Drupal for both hosting and dyanmic internal intranets where every user can be a poster of pages/information.
Drupal Gardens can give you a quick demo of your own Drupal 7 site for free and is a good location to test a simple feature set for a site of this nature.
1 Possibility to add simple text pages, with internal and external
links (more or less the same features as a wiki)
- Drupal pages can be simple or complex. This can be done in many ways.
2 Possibility to add complex JavaScript content pages (i.e., the
content of the page is entirely determined by JavaScript, except the
page frame itself, menu, headers, footers...)
- Drupal will let you insert JavaScript into a node for complex things. However, this is not normal for most sites. This requirement would be a challenge for all three CMS systems depending on what you'd like to accomplish here.
3 Good back-up system. Something like export/import in svn.
- For Drupal, you can use SVN against the site, but you need to think differently about CMS systems. For a CMS the framework is your code, i.e. the process for displaying content. For Drupal the real data exists in MySQL, so MySQL backups are needed. Lastly, with Drupal, you can turn on revisions which will keep copies of the content of a page as it is edited.
4 Possibility to have a good control on HTML keywords associated
with each page.
- Drupal has a module with lets you manage keywords in a different fashion for pages and stories stored in the system. You can customize each page if needed. Having a module implement keyword management has been very slick for us. The module to accomplish this is called Nodewords.
5 Multi-user, with some access control for editing
- A complete user system is built into Drupal and modules exist to further extend the security of the system. Editing can be controled and if you are familiar with CKEditor, it is one of many HTML editors that are supported in Drupal.
6 Good community support.
- Drupal community support is great. I have been able to find plenty of information to migrate from .NET to a PHP content management platform.