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.
Improve detection of transferring array buffers.

Remove FeatureDetection.supportsTransferringArrayBuffers which incorrectly used window.postMessage.

Detection is now done internally inside TaskProcessor using a real web worker, which round-trips a typed array to detect a related bug in older Firefox versions.  TaskProcessor sends the result of the detection to the worker along with the task object, instead of having the worker detect itself.

Instead of detecting whether or not ArrayBuffers can be transferred everywhere in Cesium code, we now assume they can, and the TaskProcessor/createTaskProcessorWorker system will internally truncate the array if it's not supported.
Fix build for new transferTypedArrayTest worker.
Merge pull request #1602 from AnalyticalGraphicsInc/fixArrayBufferTransfer

Improve detection of transferring array buffers.
Merge branch 'master' into issue1487

Conflicts:
	Source/Scene/Primitive.js
	Source/Scene/PrimitivePipeline.js
	Source/Workers/combineGeometry.js
	Source/Workers/createTaskProcessorWorker.js