Restore return-raw-pointer logic

Some Gtk object constructor return value type is GtkWidget instead of
real type, for example, gtk_window_new returns GtkWidget instead of
GtkWindow.  This needs to be worked around via original
return-raw-pointer logic, which is removed by mistake.  This patch
restore it.
Merge pull request #37 from hying-caritas/restore-return-raw-pointer

Restore return-raw-pointer logic
Garbage Collection for "transfer none"

For "transfer none" return value and out parameters, the reference
count of returned object will not be increased for the caller, but a
new pointer is established in lisp for it.  For example,
gtk_bin_get_child.  For these objects, we should increase reference
count when the new pointer is established in lisp and decrease
reference count when the pointer is garbage collected.
Merge pull request #39 from hying-caritas/gc-transfer-none

Garbage Collection for "transfer none"
Update README.md

For API changes (this, field, property).
Merge pull request #41 from hying-caritas/patch-1

Update README.md
object.lisp: Find object function basing on inheritage

So that function/method cache can be shared among object classes.