adds modelist to extensions

I copied the modelist.js file from the kitchen sink demo and added doc comments to the exported methods. There is also a fully functional demo to illustrate basic usage.

This module would be extremely helpful to anyone implementing a menu system or who wanted to programatically switch rendering modes based on the file extension of the file loaded into ace. I can think of several use cases for it already.

1. in the settingsMenu branch.
2. in supporting theme switching for anyone implementing drag and drop support for loading files into the editor
3. in supporting theme switching for sites implementing their own file picker dialogues and loading content into ace through xmlhttprequest
4. in supporting filebrowser / editor applications where a server could be set up to display file contents in an ace editor as users browsed to arbitrary files.
5. etc. etc.

Had I known about it when I began writing the settingsMenu branch I would have used it.