Base javascript objects with convenient inheritance and some shared features for node & browser, AMD