Break all the things!

**Remove backwards compatibility for passing a function to register.**

We left backwards compatibility in the register function to allow the API to evolve. We've now reached a point where it makes sense to break with that earlier functionality.

**Pass the module's methods to its initialize method.**

This allows modules to use their own methods in a similar way that the prompt file and other modules will use their APIs. Hopefully this will make module design a bit clearer (and less unweildy).

Some property locking is planned for a future commit.

**Revise and reduce the module API.**

* Removed the module's get and exec methods.
* Pass the module's `register` method to its `initialize` method.
* Run a module's `initialize` method with `@impromptu` as the context.
* Execute a method's `context` to `@impromptu` by default.