Public events view improvements

Improve the public events view:

* Include the event type in speakers.json
* Display un-scheduled (but confirmed) events in the "events" view - they were already displayed in the "speakers" view
* Render event pages for un-scheduled (but confirmed) events
* Add a JSON endpoint for the "events" view