Deep watch service for angularJS