Allow changing of pick ids.

The visualizers rely on being able to repurpose primitive instances to visualize different dynamic objects.  Simply changing the `_id` property on the primitive is not sufficient, because the value is captured when the pick id is created.  The result is that in cases where dynamic objects are hidden and shown, picking frequently returns the wrong dynamic object, which causes the selection indicator to point at the wrong location.

These changes add the ability to update the object associated with a pick id, and add setters for the `id` property.

Along the way, I also renamed `_pickIdThis` to `_pickPrimitive` to better reflect its purpose, and also made an internal get/set property so that Labels can update the value, for the same reason as pick id.