CONCEPT OF OBJECT METHODS
----
None of this addresses actions!!!
----

From Aplication Constructor

1. Optionally register class name and methods.

2. Create instance.

3. Invoke somehting like WcCreatePopups or WcCreateChild, with the
   instance and the instance class name.

3.a. Create the widget as normal.

3.b Post creation, immediately register the object and class name to the
    created widget.  This is before any callbacks are invoked, but after
    normal widget callbacks have been converted.

That is all the special processing for CREATION time.

Late Binding:  
  1. Method known before converter is invoked.  OK.
  2. Method unknown, optionally give warning.
  3. Method is dynamic, optionally give warning.
  -- maybe cannot differentiate between 2 & 3.

Really, only need to be able to resolve method at invokation time,
but it is nice to give warnings at creation time when possible, for
easier debugging.

Converter:

A totally new scheme: Methods and undefined callbacks use late
binding.

If its not a method (no ::) AND the callback name is resovlable,
then go ahead and resolve it.  This is like the current situation.

Otherwise, we will use late binding.  The LateBinder callback will
be returned.  Its client data will enable it to resolve the method
or callback at invokation time.

If its a method (contains::) then the quarkified class name is provided.
Also, if the method can be resolved, then put the method address in the
client data.
Otherwise, NULLQUARK for class name, NULL for address, quark for callback
name.

The method or callback name is provided

Our string-to-callback converter simply detects that its a
method (contains ::) or that its and undefined callback and binds the
late binder callback.  The client data consists of quarkified class
name or NULLQUARK, quarkified method or callback name or (if resolvable)
the, and the client
data.

Optionally, still give warnings for
undefined methods.  If method is resolvable, do that much.  CANNOT
resolve instance pointer, since this may be recursive - object Foo
contains object Foo, so when nested Foo widget is bing created, we DO
NOT want to resolve to parent Foo!!!!!

LateBinder: Given widget, and knowledge that this widget or some
ancestor has has been connected to an object, find the first object
of the appropriate class quark.

With late binding, can resolve method at invokation time.  Once resolve,
always resolved.  Can also do dynamic callback binding.

Dynamic binding: name library and object.  Then object methods will
be searched for by name from that library.

WcObjectClassDynamicLibrary( char* className, char* fullPathName )
*wclObjectClassDynamicLibraries: (className fillPathName) (etc)
*wclSuppressUndefinedMethodWarnings: <default True>
*wclSuppressUndefinedCallbackWarnings: <default True>
*WclSuppressUndefinedCallbackWarnings:  <need command line flag +->
