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.
Instead of replacing the pick object, just update the id inside.
Merge pull request #1599 from AnalyticalGraphicsInc/fixPickId

Allow changing of pick ids.
Merge remote-tracking branch 'upstream/master'