update to crystal 0.4.4 syntax
tidyup using elsif in macro
minor refactor on alloc_init and almost unused send_msg
use map_to_objc macro. workaround for empty tuples