add pic_func struct to hold native function name
gurantee allocators return NULL given size is zero
add xrope
update xrope
remove dependencies on pic_state from pic_strlen and pic_strcmp
xrope is now the internal representation of pic_str