stop/start debugging

fixed infinite loop on set

breakOn returns object with start and stop methods. Also can start the debug in stopped or started state.

conditional break points by passing function as mode
```javascript
// only seems to break after about 30second
var start = Date.now();
breakOn(someObj, "time", function(v) {
  return v - start > 30000;
});