Many of the watchpoint bugs have to do with wp->setter and wp->shape
getting out of sync. The new function js_UpdateWatchpointsForShape takes
care of bringing all relevant watchpoints fully up to date; it is called
from the places in jsscope.cpp where property changes take place, and is
also used by the watchpoint creation code. DropWatchPointAndUnlock becomes
simpler; js_FindWatchPoint, js_WrapWatchedSetter and js_watch_set_wrapper
become static to jsdbgapi.cpp.