Add initialize method to Marionette.Application

Resolves #1675.
Why? I think it would be a nice thing to use it for App and Controller.

It would also significantly cleanup the implementations of each and enforce consistency between the classes.