Router.routes, View.events, and Model.defaults -> method form

As of typescript 0.9.1, fields are set after calling the super
constructor, so if events, defaults, or routes are set to object
literals, they will not be seen by backbone, and will not be bound.
The cleanest way to fix this is to define them as methods which return
an object hash, as the methods are already on the prototype chain when
backbone looks for events/defaults/routes, and backbone supports either
objects or functions that when called return objects.
Merge pull request #891 from jaredp/master

Router.routes, View.events, and Model.defaults -> method form