Inheritance in Javascript with protected and super access