I am about to make a website for a small sports community and I was wondering what CMS would be the best to use for this task. My requirements for the CMS are:

1. Customizable template. The template should be customizable. I donít mind fiddling around with html/css/php but it should not be overly complicated to customize the theme to my exact liking.

2. User levels. I require 4 levels of user control for registered users as
Administrators - access to entire backend
Writers - can post on the site but not access user database
Players - should be able to make and edit a player profile (preferably from the front-end) and should be able to enter events on the site
Fans - should be able to comment on articles and post in the forum

3. Event management / calendar. It should be possible to create events that Players can enter before a given deadline on the site, possibly connected to a calendar.

4. Forum. There should be a forum which is integrated in the design of the rest of the site. I am not interested in using a bridge to say phpBB. It should be integrated in the CMS and completely integrated with the users on the site.

5. Sections / categories. I need to be able to make different categories, some of them with subcategories. These should of course be accessible through a menu.

6. Customizable widgets / wrapper. I want to be able to either make my own widgets or be able to have a html site wrapped in the template as a site.

So far I have considered using Drupal, Joomla and WordPress. Can anyone tell me what CMS would be best suited to my task (not necessarily the ones i mentioned)?