descend from nsIWidget. This conforms better to our standard
of not having interfaces inherit from each other.
Changed many of the interfaces to be XPCOM complient i.e. all methods
return nsresult. Therefore the signature of many of the "getters"
changed.