Custom Watcher

My company is using angular-deckgrid and we ran into issues with the watcher being too complex because we have circular references in our objects. This PR allows you to supply a function which is used to create a string that will be used as the watch expression.