A debounce service for AngularJS