I got some more info on this topic from www.sitepointforums.com.
The thread can be found here: http://www.sitepointforums.com/showthread.php?s=&threadid=79221
Basically, you have to have some sort of API that all modules would have to use. In order to load the modules, you have to have the script traverse the module directory and include each of the modules files, and then call each module's 'init()' function. (More clear if you read the thread).
There were, however, a few questions that I would like to have answered:
1) If the script has to traverse a module directory everytime a script is requested, is there a large performace penality?
2) In comparision to a database call, such as a SELECT statement, how CPU/memory intensive is a directory traversal?
3) I know that as the number of modules increase, so will the load time for each page. How can I optimize this so that it will scale well with N modules?