Extend all modules from TiProxy.

This will enable the event listener APIs on module objects.
Make handler object in EventPair optional.

Switched to using scoped pointer to clean up container and handler.
Expose runtime and object factory.
Allow firing events without data argument.
Support firing custom events.
Fix firing custom events on modules.
Merge pull request #18 from joshthecoder/timob-12511

TIMOB-12511: Support custom events on proxies and modules.