improvements to subtle moves for view frustum and voxel serving

- added new ViewFrustum::isVerySimilar() which is like ::matches() but it includes specific tolerances for position and orientations.
- changed voxel server sending to use isVerySimilar() to determine if it should consider the scene changed/client moving
- changed client to use isVerySimilar() to determine if it's view is changing.
- added some "runaway stack" safety guards to prevent runaway recursion in cases of corrupt voxel trees