added LGPL licensed implementation of the newObject to the project

This is a **very** questionable change.  Since this module is LGPL and the javascript it was including was GPL there is a risk that if someone wishes to use this module in a closed source application they would be in violation of the javascript's license without even knowing it.  To simplify matters I assigned the copyright to you since it is so trivial and I assume it will be extended.  I do not want any license changes on your part to be encumbered by seeking my permission at some future date.

There is a functional change in that I added some more error checking as well as being able to throw a reasonable error on a component failure.  I also make sure there is a valid args object to pass in so that users of the API have the option of just giving the component name to create the object.  I would argue though that parent should not be optional since if there is no parent given then the created objects lifetime is altered to be destroyed when it's last reference is lost instead of when the contained parent is destroyed.  That is just opinion so I am not too concerned.