Thanks for the overview!
You limited your list of candidats based on the technology they are implemented with. I suppose you did this since you expect to mess around with the implementation and therefore needed an implementation that used a technology you know about. What I suggest however, is for you to try the solutoin called XWiki (http://xwiki.org). XWiki is an open source Java wiki, but its furthermore a so-called application wiki. That means that you can do quite advanced functionality additions and modifications using simple velocity based scripting (super simple) form within the wiki interface. Want to change the look and feel? Just use the wiki interface to override the CSS classes and upload new pictures if you need to.
If you want to try XWiki you can do so (for free) on the xwiki.com site.