Fix component dispose()

unregisterEventHandlerForElement() call was passing the wrong parameters.
Also guard against calling it with null because it will throw an error.
Call dispose function instead of detachFromParentComponent
Do not allow an element to be assigned to multiple components
Merge pull request #1479 from aadsm/warn-element-multiple-component

Warn element multiple component