Validates an entire Javascript object against a set of nested matchers