cleanup, improvements to callbacks and type checking
cleanup, improvements to callbacks and type checking

Many whitespace changes i didnt ask for
Redesign control/object management and checking.
Objects are now stored by reference in lua registry so that they can be
used in callbacks. Type checking is done by storing the signature in the
object metatable (stored with the reference in the lua registry).
Object wrapper is just a pointer.
Text property getter functions are implemented without macros again, this
is because text buffers need freeing after use.
Object and value references are passed as parameters to callback
functions.

mdombroski/libui-lua