Provide 'isLoaded' getter and raise 'load' event to fix issue #3

Once it is possible extend Element and define strongly typed custom
events on our Element, we should revisit this to see if we can improve
the API further.