Adding "fuzzy" unit test library; adding specialized comparators for vectors, matrices

The basic flow of these methods is to compare all the properties of the second object to the properties of the first; as detailed in comments, these values must be numeric - this is not part of vector and matrix comparison functions because its assumed that if this were in doubt, a unary test would be required for the arguments before they're compared. 

Comparison is done within a parameterized threshold, with a "Constant property" DEFAULT_RANGE() being provided -- == 1e-6. 

This commit is in response to the failure of leapjs to pass tests under node 11. 

It might be worthwhile to investigate why these objects are not equal in node 11 as they have identical construction techniques.