Getting back to using methods for defaults, routes, and events

And added comments on how to use them as properties that receive object
literals. This is due to new compiler behavior that won't allow defining
methods if they are declared as member properties in the base class, but
the opposite is allowed by casting the assigned value to <any>. This way
the implementing classes can use both ways supported by Backbone:
assigning object literal or function returning object literal

See https://typescript.codeplex.com/workitem/2441