Agnostic, asynchronous, and extensible JavaScript object validation.