Added support for addons, keymaps, custom modes, and key handlers

I've been using your plugin and have found it very helpful and easy to use. During the course of my integration, there were several features available in CodeMirror that were not possible with django-codemirror-widget. Namely, there was no way to use addons, keymaps, custom key handlers or custom modes. I took the liberty of adding these configuration options in my own branch, and have been using it quite successfully.

I also did a little reorganization to make this module's API more similar to Django's own `forms` module. So, it's now possible to import all the relevant classes directly from `codemirror` (e.g. `import codemirror.CodeMirrorTextarea` instead of `import codemirror.widgets.CodeMirrorTextarea`). Of course, it's still possible to import the old way.

This pull request should be fully backwards compatible with the last release. It would also close out issue #13.

I haven't exposed all the new widget configuration options via `settings`, since there are quite a few of them. This would be easy to add, though.