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

Also organized module to be more consistent with Django's own `forms` module.