Create classes with prototype object, static properties and mixins in JavaScript