Prototypal class & interface inheritance in Javascript