I don't think it would be too difficult to implement a basic system, where you call functions at certain points in the code like between the question and answer output. Joomla has a good system, split into 3 types:
- Plugins: small functions that format content. For example someone could write a Markdown/BBcode parser, and the function would get called for each question/answer.
- Modules: content 'blocks' that display content from various sources. For example someone could write a module to display the most popular tags, or simply put in ad code.
- Components: separate pages with additional functionality. Q2A probably doesn't need this, but an example would be a list of questions ordered by votes.
The main advantages of this type of system are:
1. Keep the code base light and fast by default, with just the key features.
2. Upgrades are much easier because fewer people will be hacking the core files.
Only problem I can think of right now is that it partially 'opens up the code base' with more and more users wishing to contribute. What do you think?