feat(): added scope as an optional argument to $timeout()

This isn't a complete request yet, but I'm curious to see if there's any interest.

It would be nice if $timeout could be passed a scope to run $apply() on, rather than always using $rootScope. I think this would help performance in larger apps(?). Of course, this is doable by hand in your own code, but this makes it more convenient / less verbose.

```javascript
app.controller('SomeCtrl',function($scope,$timeout){
  ...
  $timeout( doSomething, 1000, true, $scope );
  ...
});
```

I think it could also be the 3rd argument, rather than the 4th. `true` could mean use $rootScope, `false` would mean don't call $apply, and and passing a scope would call $apply on that scope.

```javascript
$timeout( doSomething, 1000, $scope );
```

Thoughts?