iCal rendering cleanup

* Remove Event.to_ical shim and talk to Event::IcalRenderer directly. Event shouldn't know about iCal rendering.
* Extract duplicate controller rendering code to a ActionController::Renderer.