* Introduce `impl_event!` for declaring the Event/RawEvent for a module
* Implements a function for generating the event json metadata
* Update runtime `json_metadata` to include the new event json metadata
* Switch to `impl_event!` for new modules
* Remove unused module declaration in `impl_event!`
* Rename `impl_event!` to `decl_event!`
* Fixes some style nits