Click point patch

Implements get3DPatch and getPatchDepthImage and reimplements get3DPoint as a special case of get3DPatch.

getPatchDepthImage renders a depth image to the clicked viewport's camera in a box around the clicked position.

get3DPatch captures the depth image and then reprojects it to produce the 3D points in the region.