model / schema library for javascript