Performance: Adjust $watch statement so it does not run every $digest

This optimization will increase performance. However, we need to make sure it's watching every property type the directive is concerned with. Otherwise, something in the application may update and the select will not be notified to change.