I think the Blog app would also be a good place to look.
Basically, what you want to do is outside the scope of Pages and page
processors. You'd be better off implementing the calendar as a regular
Django app (you can still use Mezzanine's Displayable class, though)
with it's own url patterns, models and views.
You can then create a Page instance with the same slug as the url where
you have mounted your app (as Mezzanine does with the Blog) to have it
show up in the navigation menu. The Page instance will also be available
to all elements mounted under the same url prefix in your app.
https://github.com/stephenmcd/mezzanine/tree/master/mezzanine/blog