Adds ability to load external interfaces

This adds support for loading additional interfaces with the `--ui` option, similar to how the `--reporter` option works.

After this commit, you should be able use an alternate interface like this:
`npm install someMochaUI`
`mocha --ui someMochaUI path/to/a/mochatest.js`