The structure of class object is now more leniant [+ Added tests]

The events are now registered through a new method named 'on'. Also removed the callbacks for (add|remove)EventListeners.

Also added an optional callback method named "loaded". This method is
called when an object is instantiated and associated with an element.

This is the place where you should set your events.

The events will also be removed event if the target isn't itself.