Add support for splitting custom functions into read/write func table
Add support for splitting custom functions into read/write func table

Also rewrite Object.on_notify and Value.g_type to use this functionality.

zevv/lgi,psychon/lgi,pavouk/lgi