URL handling refactor

Extracts URL launching code from AppDelegate.m into a separate class.