Modify Go proof-of-concept design.
Modify Go proof-of-concept design.

*   Make structs public: `FooIMP` instead of `implFoo`.
*   Embed parent structs.
*   Make `ref` a `uintptr` instead of a pointer to a C type.
*   Add the INITOBJ method to ObjIMP.
*   Use one finalizer and call SetFinalizer from only one location.
*   Implement TOPTR() only once.

rectang/lucy-clownfish,rectang/lucy-clownfish,apache/lucy-clownfish,nwellnhof/lucy-clownfish,nwellnhof/lucy-clownfish,rectang/lucy-clownfish,apache/lucy-clownfish,apache/lucy-clownfish,apache/lucy-clownfish,rectang/lucy-clownfish,apache/lucy-clownfish,nwellnhof/lucy-clownfish,nwellnhof/lucy-clownfish,rectang/lucy-clownfish,apache/lucy-clownfish,rectang/lucy-clownfish,nwellnhof/lucy-clownfish,nwellnhof/lucy-clownfish,rectang/lucy-clownfish,rectang/lucy-clownfish,apache/lucy-clownfish,nwellnhof/lucy-clownfish,rectang/lucy-clownfish,apache/lucy-clownfish,nwellnhof/lucy-clownfish